spring与jbpm的整合
spring与jbpm的整合
* 由spring容器产生processEngine
* jbpm的事务交给spring处理
整合步骤:
* 导入jbpm的jar包
* 删除db和hibernate的jar包
* 在config下创建一个配置文件
config/jbpm
jbpm.cfg.xml
jbpm.hibernate.cfg.xml
* jbpm.cfg.xml文件中
<import resource="jbpm.tx.hibernate.cfg.xml" />改为
<import resource="jbpm.tx.spring.cfg.xml" />
统一由spring处理事务,由右边的配置可以看出是通过创建新的session从而开启事务的
* jbpm.hibernate.cfg.xml文件中
* 数据库的连接配置
<property name="current_session_context_class">thread</property>
这行配置不能写,不能从当前线程中获取session
* OA项目本身的表的映射文件
* jbpm的表的映射文件
* spring的配置文件
* hibernate配置文件的路径修改
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:jbpm/jbpm.hibernate.cfg.xml</value>
</property>
</bean>
* 让sprin*生processEngine
<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
<property name="jbpmCfg" value="jbpm/jbpm.cfg.xml"></property>
</bean>
<bean id="processEngine" factory-bean="springHelper"
factory-method="createProcessEngine" />
注意jbpm.cfg.xml配置文件的路径
jbpm.tx.spring.cfg.xml
<command-service name="newTxRequiredCommandService">
<retry-interceptor />
<environment-interceptor policy="requiresNew" />
<spring-transaction-interceptor policy="requiresNew" />
</command-service>
上一篇: HQL 写法 SQL
下一篇: 有用的SQL SQLOracle
推荐阅读
-
Apache shiro的简单介绍与使用教程(与spring整合使用)
-
Spring Boot 2.X整合Spring-cache(让你的网站速度飞起来)
-
spring源码分析系列5:ApplicationContext的初始化与Bean生命周期
-
spring源码分析6: ApplicationContext的初始化与BeanDefinition的搜集入库
-
Spring整合多数据源实现动态切换的实例讲解
-
Spring Boot整合Spring Security的示例代码
-
干货分享:ASP.NET CORE(C#)与Spring Boot MVC(JAVA)异曲同工的编程方式总结
-
Spring Boot 2 - 初识与新工程的创建
-
spring Boot环境下dubbo+zookeeper的一个基础讲解与示例
-
Spring 事务隔离与事务传播的详解与对比