快速业务通道

jBPM4与Spring整合的2种方式 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

jBPM4与Spring整合的2种方式

时间:2011-09-14 blogjava 卡宴

要知道如何将jBPM4与Spring整合,可以先了解jBPM4的IOC容器,如果不了解的可以先看这篇文章(主 题:Jbpm4的IOC容器),是介绍jBPM4的IOC容器的。下面我们介绍jBPM与Spring整合的2种方式:

第一种:手工将SessionFactory放入jBPM4中。

第1步:更改jbpm.spring.default.cfg.xml配置文件,将下面的部分注释掉 

  <!--     <hibernate-configuration>       <cfg resource="jbpm.hibernate.cfg.xml" />     </hibernate-configuration>      <hibernate-session-factory />   -->

注释的部分是在jBPM4中创建了sessionFactory,而我们只需要一个sessionFactory。既然要将jBPM4 与Spring的整合,那就希望由Spring来统一管理sessionFactory和事务,在Spring的配置文件中构造一个 sessionFactory。 ProcessEngine是jBPM4的Facade模式,一切由它与外部交互,

第2步:在Spring配置文件中写一个bean:

<bean id="processEngine" class="com.family168.jbpm.ProcessEngineFactoryBean">         <property name="sessionFactory" ref="sessionFactory"/> </bean>

第3步:在ProcessFactoryBean中注入SessionFactory:

  public void setSessionFactory(SessionFactory sessionFactory) {         this.sessionFactory = sessionFactory;   }

第4步:在ProcessFactoryBean中创建一个SpringConfiguration,然后将sessionFactory放入 SpringConfiguration中,再从SpringConfiguration得到processEngine,代码如下:

     public void afterPropertiesSet() {         SpringConfiguration cfg = new      SpringConfiguration(jbpmConfigurationLocation);         cfg.setApplicationContext(applicationContext);         cfg.setSessionFactory (sessionFactory);         this.processEngine = cfg.buildProcessEngine();     }

然后我们的工作就可以开展了,可以从processEngine得到所有的service。比如:

    ProcessEngine processEngine = (ProcessEngine) ctx.getBean ("processEngine");     RepositoryService repositoryService = processEngine.getRepositoryService();。

jBPM4与Spring整合的2种方式(2)

时间:2011-09-14 blogjava 卡宴

第2种:获得Hibernate的SessionFactory。

第1步:与第一种方式的第1步一样。

第2步:更改jbpm.tx.spring.cfg.xml配置文件:

     <standard-transaction-interceptor/>   改成    <spring- transaction-interceptor current="true" />

然后将

    <transaction/>     <hibernate-session/>   改成 <hibernate-session current="true"/>

这部分修改是将jBPM4创建的spring事务和hibernate的session改成从当前的ThreadLocal中获得 session和事务。

第3步:在Spring配置文件中写bean,processEngine和template:

<bean id="jbpmConfiguration" class="org.jbpm.pvm.internal.cfg.SpringConfiguration">         <constructor -arg value="jbpm/jbpm.cfg.xml" />     </bean>     <bean id="processEngine" factory-bean="jbpmConfiguration" factory-method="buildProcessEngine" />     <bean id="jbpmTemplate

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号