首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Activiti - DelegateExpression未解析

Activiti - DelegateExpression未解析
EN

Stack Overflow用户
提问于 2014-10-06 06:48:35
回答 1查看 608关注 0票数 0

我正在尝试将Activiti-BPM框架集成到Java应用程序中。目前的主要目标是将EJB作为DelegateExpression注入到Servicetask (处理数据库操作)中。

我读到Activiti (还没有)与EJB一起工作,所以我对类进行了如下注释:

代码语言:javascript
复制
@Named
@LocalBean
@Stateless
@Dependent
public class DatabaseWriter implements JavaDelegate {...}

并尝试以多种方式注入,如下所示:

代码语言:javascript
复制
activiti:delegateExpression="${DatabaseWriter}"
activiti:delegateExpression="DatabaseWriter"
activiti:delegateExpression="$DatabaseWriter"

敬请查证它是否只是一只虫子还是什么的:

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-06 10:15:56

来自Oracle文档

用@Named注释注释边界( Cart )使Cart立即可见于JSP和JSF中的表达式语言(EL)表达式。这个@ name注释采用带注释的类的简单名称,将第一个字符设置为小写,并直接将其公开给JSF页面(或JSP)。

Activiti使用相同的表达语言(EL),所以我猜你可以尝试;

代码语言:javascript
复制
activiti:delegateExpression="${databaseWriter}"

另外,我从来没有使用过EJB和Activiti,所以我只是猜测一下,但是上面的例子是Spring是如何工作的。

希望能帮上忙。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26211122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档