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。
很简单的配置,水平有限,各位不要拍砖。
分享到:
相关推荐
风中叶老师讲的JBPM4与Spring整合例子代码 JBPM4 Spring OA工作流系统
jBPM4与Spring整合的2种方式,JBPM技术现在已经不是最好最新的了,随着国人对工作流理解的深入,现在厂商普遍自己设计开发工作流引擎。
jbpm4.3与spring整合的一个小文档
近期网上有人介绍jBPM4与Spring整合的2种方式,但没有人贴出代码,闲着无聊写了个例子,源码见附件,在WEBLOGIC下运行正常,事务由spring控制http://ip:7001/Spring/helloWorld.do
jbpm4 集成 spring 的试用代码 spring2.5 hibernate3.3 jbpm4 beta1 后的svn版本
jbpm 4.3 与 spring 集成
JBPM4.4+spring+ext整合
jbpm与spring集成开发指南,描述了jbpm与spring开发过程。
jbpm4.4 ibatis-spring 整合
NULL 博文链接:https://1960370817.iteye.com/blog/2392653
spring与jbpm的集成包(符集成方法)
JBPM与Spring集成开发指南.docx
整合的jbpm4的spring、hibernate的网上的请假的例子。由于lib包太大,需要自己添加lib下的jar包
jbpm5.4 spring mvc 集成开发 Jetty maven JTA 事务等配置!
介绍JBPM基本内容和与Spring集成关键点。文章没有排版,但内容很有价值。
JBPM5+Spring+Hibernate+MySQL 请假例子
Spring与JBPM4的集成
现在流行抱大腿,不过对眼光的要求也高。...下面分别讨论:一、 通过Spring暴露服务还记得在jBPM4的运行期环境里提到的JbpmConfiguration吗?它是整个jBPM4的入口,并且是整个应用独此一份的。通过它可