Flowable实战-flowable任务监听器获取spring bean
最近在写Flowable实战一书,刚好写到了在userTask上加任务监听器,然而通常情况下实现类注入的bean一直为null,解决方案如下:1、流程定义xml中的任务监听器,使用delegateExpression表达式将所使用的任务监听器关联起来<userTask id="test" name="测试" flowable:assignee="${applyUserId}" ...
最近在写Flowable实战一书,刚好写到了在userTask上加任务监听器,然而通常情况下实现类注入的bean一直为null,解决方案如下:
1、流程定义xml中的任务监听器,使用delegateExpression表达式将所使用的任务监听器关联起来
<userTask id="test" name="测试" flowable:assignee="${applyUserId}" flowable:formKey="testForm">
<extensionElements>
<!-- <flowable:taskListener event="create" class="cn.flowable.listener.MyListener"></flowable:taskListener> -->
<flowable:taskListener event="create" delegateExpression="${myListener}"></flowable:taskListener>
<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]></modeler:initiator-can-complete>
</extensionElements>
</userTask>
2、自己的任务监听器实现类需要实现org.flowable.engine.delegate.TaskListener类,通过 @Component(value="myListener") 注解将我的监听器交给spring管理,其中value的值和xml中delegateExpression表达式中变量的值保持一致
@Component(value="myListener"
public class MyListener implements TaskListener {
@Autowired
private BusLineService busLineService;
@Override
public void notify(DelegateTask delegateTask) {
//写自己具体的逻辑
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)