读书人

在JBPM的Handle种中调用Spring管理的类

发布时间: 2012-12-20 09:53:21 作者: rapoo

在JBPM的Handle类中调用Spring管理的类

????? 我们在使用JBPM定义流程的时候经常要在流程定义文件中加入一个继承xxxHandler的类来实现我们的业务逻辑判断或者其他的需求,在这个类中一般都是用Spring的Application来获取,而这种情况每次都需要加载配置。

????? 假设使用的Handle类是RoleAssignmentHandler,需要注入的属性石UserService, 以下有几种解决办法:

?

?

1、在RoleAssignmentHandler中把UserService声明成static

?

?? 以下是这个方法的具体实施办法:

这里,由于springmodules跟jbpm4.4的集成有些问题,所以单独把JbpmFactoryLocator这个类拿了出来,修改一下相关类的引入就可以使用:

?

?

?把这个类配置成spring的bean:

?

?

??? 让RoleAssignmentHandler继承BaseAutowire即可:

?

public class RoleAssignmentHandler extends BaseAutowire implements AssignmentHandler {private static final long serialVersionUID = 1L;private  UserService userService;public void assign(Assignable arg0, OpenExecution arg1) throws Exception {// TODO Auto-generated method stubuserService.getUserById("");//调用userService的方法}        public ProcessEngine getProcessEngine() {return processEngine;}public void setProcessEngine(ProcessEngine processEngine) {this.processEngine = processEngine;}}
?

?

读书人网 >编程

热点推荐