Activiti ServiceTask不能使用Spring 的bean问题
来源:互联网 发布:全站仪角度测量数据 编辑:程序博客网 时间:2024/05/16 19:46
参考网址:https://groups.google.com/forum/#!topic/camunda-bpm-users/M7K3KXiEHaA
问题描述:
java类实现 activiti提供的JavaDelegate接口时,获取不到spring给我们加载的bean类,会报 java.lang.NullPointerException;
解决如下:
当使用 activiti:class 把一个class指定给ServiceTask时,需要实现JavaDelegate接口,activiti引擎将会在内部用Class.newInstance(..)方法创建一个该类的对象,这个对象并不spring容器管理,所以无法获取spring容器给我们生成的bean;
所以我们只能换一种方式来实现 serviceTask的功能,serviceTask还有两个属性:activiti:expression和activiti:delegateExpression
activiti:expression="${retrieveCustomerServiceTask.retrieveCustomer(execution,customerId)}":会调用retrieveCustomerServiceTask的 retrieveCustomer(execution,customerId)方法,参数execution和JavaDelagate 中的方法execute(DelegateExecution execution )参数一样,参数customerId是自定义的。在这个方法中就可以使用spring为我们提供的bean了。(亲测好用)
顺便提一下 activiti:delegateExpression="${customerServiceTask}" 将会执行实现了JavaDelegate的类的execute(DelegateExecution execution )方法。(未亲测)
- Activiti ServiceTask不能使用Spring 的bean问题
- Activiti的servicetask 调用Spring中Bean
- activiti java服务任务serviceTask的用法
- 解决spring国际化不能实例化bean的问题
- activiti designer源码的研究(四) 之servicetask调用webservice(example)
- Spring Bean的使用
- Spring:bean的使用
- Spring实例化Bean的三种方式及Bean的类型(activiti实战)
- 使用spring-session同时用session范围bean的问题
- Spring配置Bean的问题
- Spring Bean 单例化的问题
- spring bean的一些问题
- Activiti工作流引擎使用(Activiti的乱码问题)
- activiti designer源码的研究(三) 之servicetask调用除Java之后的其他语言发布的webservice
- 关于bean不能被创建的问题
- 使用spring的特殊bean
- 使用Spring的特殊bean
- Spring中Bean的使用
- TabHost--使用Activity
- 社説 20150227 言葉のセクハラ 厳格な処分を支持した最高裁
- Codeforces Round #293 (Div. 2) B. Tanya and Postcard
- 打开openfire出现 java.io.FileNotFoundException: ..\lib\commons-el.jar等错误信息
- 大型网站的灵魂——性能
- Activiti ServiceTask不能使用Spring 的bean问题
- CodeForces 197A Plate Game
- poj3616 dp
- 社説 20150227 年金制度改革案 将来世代守る視点を忘れるな
- 乘积最大---区间型dp
- Codeforces Round #293 (Div. 2) C. Anya and Smartphone
- Codeforces Round #293 (Div. 2) D. Ilya and Escalator
- c++中dynamic_cast、const_cast、static_cast、reinterpret_cast类型转换比较
- 大型网站系统架构的演化