JBoss Community

Persistence Issues

created by Yogesh Garg in jBPM - View the full discussion

Hi all,

 

I am receiving some issues and they seem to be revovling around persistence. I am using jBPM5.3 and jBOSS AS 7.0.2. I have done a vanilla installation. Please let me know if I am supposed to some customization as well. PFB the persistence.xml which I am using for my project and let me know what is missing or needs to change in it. Also I have included errors I am receiving. I am just plainly  running my project. The project needs a human task so there is one org.jbpm.task. There is one doubt as well, we are not mentioning datasource for task's persistence as well, then how can hibernate know where it should store the objects. Secondly my most of the issues are revolving around org.peristence.jpa. Kindly help me!!!!

 

 

Persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
             xmlns="http://java.sun.com/xml/ns/persistence" 
             xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             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">
             
  <persistence-unit name="org.jbpm.persistence.jpa" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <jta-data-source>jdbc/jbpm-ds</jta-data-source>       
    <mapping-file>META-INF/JBPMorm.xml</mapping-file>
    <mapping-file>META-INF/ProcessInstanceInfo.hbm.xml</mapping-file>

    <class>org.jbpm.persistence.processinstance.ProcessInstanceInfo</class>
    <class>org.drools.persistence.info.SessionInfo</class>
    <class>org.drools.persistence.info.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.H2Dialect"/>
      <property name="hibernate.connection.driver_class" value="org.h2.Driver"/>
      <property name="hibernate.connection.url" value="jdbc:h2:tcp://localhost/~/jbpm-db" />
      <property name="hibernate.max_fetch_depth" value="3"/>
      <!-- hbm2ddl.auto MUST BE update! The console will otherwise overwrite the schema with each new thread -->
      <property name="hibernate.hbm2ddl.auto" value="update" />
      <property name="hibernate.connection.username" value="sa"/>
      <property name="hibernate.connection.password" value=""/>
      <property name="hibernate.connection.autocommit" value="false" />
      <property name="hibernate.show_sql" value="true" />
      <property name="javax.persistence.validation.mode" value = "none"/>

      <!-- for AS7 -->
      <property name="hibernate.transaction.manager_lookup_class" value="org.jbpm.integration.console.JBPMTransactionManager" />
      <!-- for AS5 -->
      <!-- <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup" /> -->
    </properties>        
  </persistence-unit>
    
     <persistence-unit name="org.jbpm.task">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <mapping-file>META-INF/Taskorm.xml</mapping-file>
        <class>org.jbpm.task.Attachment</class>
        <class>org.jbpm.task.Content</class>
        <class>org.jbpm.task.BooleanExpression</class>
        <class>org.jbpm.task.Comment</class>
        <class>org.jbpm.task.Deadline</class>
        <class>org.jbpm.task.Comment</class>
        <class>org.jbpm.task.Deadline</class>
        <class>org.jbpm.task.Delegation</class>
        <class>org.jbpm.task.Escalation</class>
        <class>org.jbpm.task.Group</class>
        <class>org.jbpm.task.I18NText</class>
        <class>org.jbpm.task.Notification</class>
        <class>org.jbpm.task.EmailNotification</class>
        <class>org.jbpm.task.EmailNotificationHeader</class>
        <class>org.jbpm.task.PeopleAssignments</class>
        <class>org.jbpm.task.Reassignment</class>
        <class>org.jbpm.task.Status</class>
        <class>org.jbpm.task.Task</class>
        <class>org.jbpm.task.TaskData</class>
        <class>org.jbpm.task.SubTasksStrategy</class>
        <class>org.jbpm.task.OnParentAbortAllSubTasksEndStrategy</class>
        <class>org.jbpm.task.OnAllSubTasksEndParentEndStrategy</class>
        <class>org.jbpm.task.User</class>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
            <property name="hibernate.connection.driver_class" value="org.h2.jdbcx.JdbcDataSource"/>
            <property name="hibernate.connection.url" value="jdbc:h2:tcp://localhost/runtime/task" />
            <property name="hibernate.connection.username" value="sa"/>
            <property name="hibernate.connection.password" value=""/>
            <property name="hibernate.connection.autocommit" value="false" />
            <property name="hibernate.max_fetch_depth" value="3"/>
            <property name="hibernate.hbm2ddl.auto" value="create" />
            <property name="hibernate.show_sql" value="true" />
        </properties>
    </persistence-unit>
    
</persistence>

 

 

Error on Console

...0
26/10 16:01:46,245[main] ERROR hibernate.transaction.TransactionManagerLookupFactory.getTransactionManagerLookup  - Could not instantiate TransactionManagerLookup
 
java.lang.ClassNotFoundException: org.jbpm.integration.console.JBPMTransactionManager
 
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 
at java.security.AccessController.doPrivileged(Native Method)
 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
 
at java.lang.Class.forName0(Native Method)
 
at java.lang.Class.forName(Class.java:169)
 
at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:192)
 
at org.hibernate.transaction.TransactionManagerLookupFactory.getTransactionManagerLookup(TransactionManagerLookupFactory.java:86)
 
at org.hibernate.cfg.SettingsFactory.createTransactionManagerLookup(SettingsFactory.java:433)
 
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:158)
 
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
 
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
 
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
 
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
 
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
 
at com.sample.ProcessMain.createKnowledgeSession(ProcessMain.java:154)
 
at com.sample.ProcessMain.main(ProcessMain.java:51)
 
Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: org.jbpm.persistence.jpa] Unable to build EntityManagerFactory
 
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
 
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
 
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
 
at com.sample.ProcessMain.createKnowledgeSession(ProcessMain.java:154)
 
at com.sample.ProcessMain.main(ProcessMain.java:51)
 
Caused by: org.hibernate.HibernateException: Could not instantiate TransactionManagerLookup 'org.jbpm.integration.console.JBPMTransactionManager'
 
at org.hibernate.transaction.TransactionManagerLookupFactory.getTransactionManagerLookup(TransactionManagerLookupFactory.java:93)
 
at org.hibernate.cfg.SettingsFactory.createTransactionManagerLookup(SettingsFactory.java:433)
 
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:158)
 
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
 
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
 
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
 
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
 
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
 
... 5 more
 
 

 

Regards,

Yogesh Garg

Reply to this message by going to Community

Start a new discussion in jBPM at Community