jbpm4与spring整合

本文介绍如何将JBPM4与Spring框架进行整合。主要步骤包括:在WEB-INFlib目录下添加jbpm.jar;在applicationContext.xml中配置属性;创建并配置jbpm.hibernate.cfg.xml;在applicationContext.xml中引入sessionFactory;编写ProcessEngineFactoryBean类;配置jbpm.cfg.xml等。通过这些步骤可以实现JBPM4与Spring的无缝对接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jbpm4GA发布已有一个月了,作为jbpm的新手,发现关于jbpm4的资源太稀少了,本人把jbpm4与spring的整合过程发布一下。本人使用struts2+hibernate+spring整合环境。
jBPM4.0整合步骤如下:
● 在WEB-INF\lib目录下增加jbpm.jar
● 在applicationContext.xml的sessionFactorybean中增加属性:
<property name="configLocation" value="classpath:jbpm.hibernate.cfg.xml" />
●首先建立配置文件jbpm.hibernate.cfg.xml,放到src下:
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/OA</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.format_sql">false</property>
<mapping resource="jbpm.repository.hbm.xml" />
<mapping resource="jbpm.execution.hbm.xml" />
<mapping resource="jbpm.history.hbm.xml" />
<mapping resource="jbpm.task.hbm.xml" />
<mapping resource="jbpm.identity.hbm.xml" />
</session-factory>
</hibernate-configuration>
● 在applicationContext.xml的中增加bean引入sessionFactory:
<bean id="processEngine" class="org.shb.wfm.workflow.ProcessEngineFactoryBean">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
●书写一个ProcessEngineFactoryBean类,主要代码如下:
public void afterPropertiesSet() {
SpringConfiguration cfg = new SpringConfiguration(jbpmConfigurationLocation);
cfg.setApplicationContext(applicationContext);
cfg.setSessionFactory(sessionFactory);
this.processEngine = cfg.buildProcessEngine();
}
这里主要是创建流程引擎,以提供使用者在service层中调用。
●把jbpm.default.cfg.xml中的下面代码注释掉:
<hibernate-configuration>
<cfg resource="jbpm.hibernate.cfg.xml" />
</hibernate-configuration>
<hibernate-session-factory />
● 其次建立配置文件jbpm.cfg.xml,放到config目录下:
<?xml version="1.0" encoding="UTF-8"?>
<jbpm-configuration>
<import resource="jbpm.default.cfg.xml" />
<import resource="jbpm.tx.hibernate.cfg.xml" />
<import resource="jbpm.jpdl.cfg.xml" />
<import resource="jbpm.identity.cfg.xml" />
</jbpm-configuration>
这样,jBPM4.0就整合好了
在处理方法中添加:
ProcessEngine processEngine = jbpmConfiguration.buildProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
String deploymentId = repositoryService.createDeployment()
.addResourceFromClasspath("****.jpdl.xml").deploy();
repositoryService.deleteDeployment(deploymentId);
这里的****是需要发布的jbpm流程文件名。
本文参考 http://www.iteye.com/topic/416883对原配置做了修改,以免重复创建的sessionFactory。
很简单的配置,水平有限,各位不要拍砖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值