NutzCN Logo
问答 nutz框架集成activiti listener 不受ioc容器控制的问题
发布于 2237天前 作者 tl-eric 1727 次浏览 复制 上一个帖子 下一个帖子
标签:

项目需要使用工作流采用了activiti。
在使用tasklistener 时候发现。如下配置:

      <extensionElements>
        <activiti:taskListener event="create" delegateExpression="${iotTaskListener}"></activiti:taskListener>
      </extensionElements>

在启动流程或进行任务流转过程中,报错,找不到"${iotTaskListener}"。
代码中使用了如下注解:

/**
 * 
 * TODO 工作流监听类
 * 
 * @author 
 * @version C01 2018年9月26日
 */
@IocBean
@SuppressWarnings("serial")
public class IotTaskListener implements TaskListener

感觉nutz框架并没有扫描到这个注解,iotTaskListener没受到容器管理。以前用spring时候使用@Component("iotTaskListener")这个标签就能加入到sprong 容器了。nutz需要怎么做?@IocBean 加name属性也不行。
ps:包路径肯定没有问题,因为相同目录其他类是能扫描到的。

7 回复

不是没扫描到, 是activiti没有从nutz ioc找对象

nutzmore里面有activiti插件, 里面有个NutzExpressionManager, 可以设置给activi, 尝试一下

哦,还请教一下,我试验过activiti从spring框架的容器是找对象的。咱框架不是基于spring做的么?我看文档说iocbean等注解都是基于@Component开发的。
如果这条路不通,那么我需要怎么做?直接用class:包路径方式

<extensionElements>
        <activiti:taskListener event="create" class="business.modules.inter.impl.activiti.listener.IotTaskListener"></activiti:taskListener>
      </extensionElements>

但是这样的话,tasklisten 没有任何注入的bean实例,操作不了业务的。求助。。。

我看文档说iocbean等注解都是基于@Component开发的。

我很好奇你看的是什么文档,因为nutz并不是基于spring开发的

应该是我看错了,理解错了。
NutzExpressionManager 这个怎么设置给activiti。我研究了半天,没看出来。简单普及两句呗。

科普不了,不清楚你的项目是怎么集成的

用保底方案吧 http://nutzam.com/core/ioc/ioc_by_hand.html

好的,我尝试一下,谢谢

添加回复
请先登陆
回到顶部