快速业务通道

jBPM4与Spring的集成 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
gt;     <hibernate-session-factory />

相关配置挪动至Spring配置文件。

jBPM4与Spring的集成(3)

时间:2011-09-14 blogjava ronghao

三、事务

哪里有数据库操作,哪里就有事务。对于嵌入式工作流而言,最重要的集成就是事务的集成。这里先 分析jBPM4的事务实现,然后再介绍集成入Spring的事务实现。

1、Command模式

jBPM4的逻辑实现采用了Command模式。

采用Command模式后,jBPM4对CommandService构造拦截器(Interceptor)链,配置在jbpm.cfg.xml的 process-engine-context里:

<command-service>
      <retry-interceptor />
      <environment-interceptor />
      <standard-transaction-interceptor />
    </command-service>

2、原有的事务实现

jBPM4原有的事务通过StandardTransactionInterceptor实现,在CommandService执行Command之前打 开事务(实际委派Hibernate的事务管理),完成后提交/回滚。

jBPM4的事务是基于Command的。

jBPM4与Spring的集成(4)

时间:2011-09-14 blogjava ronghao

3、集成入Spring的事务实现

Spring的事务是基于服务调用的。

使jBPM4使用Spring提供的事务:

<command-service>
      <retry-interceptor />
      <environment-interceptor />
      <spring-transaction-interceptor current="true" />
</command-service>

拦截器换用SpringTransactionInterceptor,SpringTransactionInterceptor从environment 提供的 Spring IOC获取PlatformTransactionManager,使用事务模板回调Command,事务传播模式强制加入当前 事务。

同时,对hibernate session的配置(jbpm.cfg.xml的transaction-context)强制从当前线程中获取 :

<hibernate-session current="true"/>

并干掉原有的事务实现:

<transaction />

参考文档:

http://www.slideshare.net/guest8d4bce/spring-integration-with-jbpm4

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号