欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring与jbpm的整合

程序员文章站 2022-07-12 10:51:05
...

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>

 

相关标签: spring jbpm