我正在尝试将Activiti-BPM框架集成到Java应用程序中。目前的主要目标是将EJB作为DelegateExpression注入到Servicetask (处理数据库操作)中。
我读到Activiti (还没有)与EJB一起工作,所以我对类进行了如下注释:
@Named
@LocalBean
@Stateless
@Dependent
public class DatabaseWriter implements JavaDelegate {...}并尝试以多种方式注入,如下所示:
activiti:delegateExpression="${DatabaseWriter}"
activiti:delegateExpression="DatabaseWriter"
activiti:delegateExpression="$DatabaseWriter"敬请查证它是否只是一只虫子还是什么的:
activiti:expression="${DatabaseWriter.execute(execution)}"在任何情况下,我都会遇到这样的异常:“无法解析DatabaseWriter,没有实现名称为DatabseWriter的JavaDelegate的bean foudn .”
我测试了类本身--通过不使用cdi - JPA可以工作,但是类可以由Activiti实例化并执行execute方法--所以类代码本身是可以的。
我还尝试将类注入JAX-RS -同时使用CDI和@EJB --它可以工作。问题的关键在于我试图将它引入Activiti的方法。
我还做了一个问题的截图(所有代码、xml和日志消息),以便更好地理解问题,如果有帮助的话:
http://s29.postimg.org/tmiknudjb/problem.jpg
谢谢你的帮助或小费!
你好,BillDoor
发布于 2014-10-06 10:15:56
来自Oracle文档
用@Named注释注释边界( Cart )使Cart立即可见于JSP和JSF中的表达式语言(EL)表达式。这个@ name注释采用带注释的类的简单名称,将第一个字符设置为小写,并直接将其公开给JSF页面(或JSP)。
Activiti使用相同的表达语言(EL),所以我猜你可以尝试;
activiti:delegateExpression="${databaseWriter}"另外,我从来没有使用过EJB和Activiti,所以我只是猜测一下,但是上面的例子是Spring是如何工作的。
希望能帮上忙。
https://stackoverflow.com/questions/26211122
复制相似问题