jbpm4现在还在开发当中,之前在项目里用的4.2还hack了一下它与spring结合的配置文件,现在4.3更新之后,可以用其默认的配置文件jbpm-4.3\install\src\cfg\jbpm\spring.jbpm.cfg.xml 即可,需要把这个文件放到classpath下面,同时引入jbpm.jar。
jbpm与spring的结合其实是jbpm将其一个bean注入了spring
的管理中,我们在spring的application 文件中加入这样一
仅仅这样一个bean是不足实现jbpm的功能,另一个bean
我们从processEngine这个对象中可以获得jbpm提供的五个service
其实一开始是想把这五个service也一起在application中注入的,但是由于4.3这个版本的bug,暂时我们只能以这种方式获得jbpm提供的service,jbpm的jire上已经有了这个issue,估计下一个版本会可以支持注入的形式获得这五个service。
jbpm4的数据库配置文件,因为项目之前都是spring管理的,所以也没有引入jbpm提供那个的hibernate配置文件,只是把*.hbm.xml 加到sessionfactory中。
jbpm与spring的结合其实是jbpm将其一个bean注入了spring
的管理中,我们在spring的application 文件中加入这样一
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" />
仅仅这样一个bean是不足实现jbpm的功能,另一个bean
<bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />
我们从processEngine这个对象中可以获得jbpm提供的五个service
@Autowired private ProcessEngine processEngine;
public ExecutionService getExecutionService() {
return processEngine.getExecutionService();
}
public RepositoryService getRepositoryService() {
return processEngine.getRepositoryService();
}
public TaskService getTaskService() {
return processEngine.getTaskService();
}
public ManagementService getManagementService() {
return processEngine.getManagementService();
}
public HistoryService getHistoryService() {
return processEngine.getHistoryService();
}
其实一开始是想把这五个service也一起在application中注入的,但是由于4.3这个版本的bug,暂时我们只能以这种方式获得jbpm提供的service,jbpm的jire上已经有了这个issue,估计下一个版本会可以支持注入的形式获得这五个service。
jbpm4的数据库配置文件,因为项目之前都是spring管理的,所以也没有引入jbpm提供那个的hibernate配置文件,只是把*.hbm.xml 加到sessionfactory中。
<bean id="hb3SessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="mappingLocations">
<list>
<value>classpath:jbpm.execution.hbm.xml</value> <value>classpath:jbpm.repository.hbm.xml</value>
<value>classpath:jbpm.task.hbm.xml</value>
<value>classpath:jbpm.history.hbm.xml</value>
<value>classpath:jbpm.identity.hbm.xml</value>
</list>
</property>..