2 Replies Latest reply on Jul 26, 2012 12:52 AM by newbird

    problem JBPM 5 - bitronix- spring- hibernate

    cip80

      Hi,

      Can you help me please?

      I'm trying to manage the persistence of a jBPM 5 in an application (struts2, spring3 and Hibernate3),to manage knowledge bases and configure sessions.

      1. I configured btm as transacton manager in tomcat 7 -->  http://docs.codehaus.org/display/BTM/Tomcat13.

       

      2. My spring-context.xml

       

       

      <?xml version="1.0" encoding="UTF-8"?>

      <beans xsi:schemaLocation="http://www.springframework.org/schema/beans

                                         http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

         http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring-1.3.0.xsd"

               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

               xmlns="http://www.springframework.org/schema/beans"

               xmlns:jbpm="http://drools.org/schema/drools-spring"

               xmlns:drools="http://drools.org/schema/drools-spring" >

       

      <!-- Database Configuration -->

      <import resource="config/spring/DataSource.xml"/>

       

      <!-- Beans Declaration -->

                    

           <bean id="emf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

                <property name="persistenceUnitName" value="org.drools.persistence.jpa"/>

                <property name="persistenceXmlLocation" value="META-INF/persistence.xml"></property>

                          <property name="dataSource" ref="dataSource" />

                          <property name="jpaVendorAdapter">

                                    <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">

                                              <property name="database" value="MYSQL" />

                                              <property name="showSql" value="true" />

                                    </bean>

                          </property>

               </bean>

       

        <bean id="txManager" class="org.springframework.orm.jpa.JpaTransactionManager">

                <property name="entityManagerFactory" ref="emf"/>

               </bean>

       

         <drools:grid-node id="node1"/>

               <drools:kbase id="kbase1" node="node1">

                     <drools:resources>

                              <drools:resource type="BPMN2" source="Evaluation.bpmn"/>

                     </drools:resources>

           </drools:kbase>

            <drools:ksession id="ksession1" type="stateful" kbase="kbase1" node="node1">

                  <drools:configuration>

                       <drools:jpa-persistence>

                        <drools:transaction-manager ref="txManager"/>

                        <drools:entity-manager-factory ref="emf"/>

                       </drools:jpa-persistence>

                  </drools:configuration>

          </drools:ksession>

       

      </beans>

       

       

      3.My persistence.xml file config is

       

       

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

        <persistence version="1.0"

         xsi:schemaLocation="http://java.sun.com/xml/ns/persistence

             http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd

             http://java.sun.com/xml/ns/persistence/orm

            http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"

          xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

          xmlns="http://java.sun.com/xml/ns/persistence">

       

      <persistence-unit name="org.drools.persistence.jpa"

        transaction-type="JTA">

          <provider>org.hibernate.ejb.HibernatePersistence</provider>

             <jta-data-source>test</jta-data-source>

             <class>org.drools.persistence.info.SessionInfo</class>

             <class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class>

             <class>org.jbpm.persistence.processinstance.WorkItemInfo</class>

             <class>org.jbpm.process.audit.ProcessInstanceLog</class>

             <class>org.jbpm.process.audit.NodeInstanceLog</class>

             <class>org.jbpm.process.audit.VariableInstanceLog</class>

        

                <properties>

                     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"

                    <property name="hibernate.max_fetch_depth" value="3" />

                    <property name="hibernate.hbm2ddl.auto" value="create" />

                    <property name="hibernate.show_sql" value="true" />

                    <property name="hibernate.transaction.manager_lookup_class"

                    value="org.hibernate.transaction.BTMTransactionManagerLookup" />

              </properties>

      </persistence-unit>

      </persistence>