3 Replies Latest reply on May 12, 2009 2:51 AM by Joram Barrez

    can't run jbpm with persistence

    Alvaro Aguayo Newbie

      I'm using JBoss 4.2.3 GA, with jBPM 3.2.6 GA.At first, it worked OK. When I tried to configure the jBPM persistence, I got some errors and exceptions from the DbPersistenceService, related to a Hibernate transaction. Here is a part of the log

      2009-05-08 14:38:21,187 DEBUG [org.hibernate.hql.ast.ErrorCounter] throwQueryException() : no errors
      2009-05-08 14:38:21,187 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] HQL:
      
       select pd
       from org.jbpm.graph.def.ProcessDefinition as pd
       order by pd.name, pd.version desc
      
      
      2009-05-08 14:38:21,187 DEBUG [org.hibernate.hql.ast.QueryTranslatorImpl] SQL: select processdef0_.ID_ as ID1_4_, processdef0_.NAME_ as NAME3_4_, processdef0_.DESCRIPTION_ as DESCRIPT4_4_, processdef0_.VERSION_ as VERSION5_4_, processdef0_.ISTERMINATIONIMPLICIT_ as ISTERMIN6_4_, processdef0_.STARTSTATE_ as STARTSTATE7_4_ from JBPM_PROCESSDEFINITION processdef0_ order by processdef0_.NAME_, processdef0_.VERSION_ desc
      2009-05-08 14:38:21,187 DEBUG [org.hibernate.hql.ast.ErrorCounter] throwQueryException() : no errors
      2009-05-08 14:38:21,187 DEBUG [org.hibernate.impl.SessionFactoryImpl] Checking 0 named SQL queries
      2009-05-08 14:38:21,187 DEBUG [org.jbpm.persistence.db.DbPersistenceService] creating hibernate session
      2009-05-08 14:38:21,265 DEBUG [org.hibernate.impl.SessionImpl] opened session at timestamp: 5086459908861952
      2009-05-08 14:38:21,265 DEBUG [org.jbpm.persistence.db.DbPersistenceService] beginning hibernate transaction
      2009-05-08 14:38:21,265 DEBUG [org.hibernate.transaction.JTATransaction] Looking for UserTransaction under: UserTransaction
      2009-05-08 14:38:21,265 DEBUG [org.hibernate.transaction.JTATransaction] Obtained UserTransaction
      2009-05-08 14:38:21,265 DEBUG [org.hibernate.transaction.JTATransaction] begin
      2009-05-08 14:38:21,265 DEBUG [org.hibernate.transaction.JTATransaction] Began a new JTA transaction
      2009-05-08 14:38:21,281 DEBUG [org.hibernate.jdbc.JDBCContext] successfully registered Synchronization
      2009-05-08 14:38:21,281 DEBUG [org.jbpm.persistence.db.DbPersistenceService] begun org.hibernate.transaction.JTATransaction@a15856
      2009-05-08 14:38:21,281 DEBUG [org.jbpm.JbpmContext] closing jbpmContext org.jbpm.JbpmContext@155aa19
      2009-05-08 14:38:21,281 DEBUG [org.jbpm.svc.Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@aea288
      2009-05-08 14:38:21,281 DEBUG [org.jbpm.persistence.db.DbPersistenceService] committing org.hibernate.transaction.JTATransaction@a15856
      2009-05-08 14:38:21,281 DEBUG [org.hibernate.transaction.JTATransaction] commit
      2009-05-08 14:38:21,281 DEBUG [org.hibernate.transaction.JTATransaction] Committed JTA UserTransaction
      2009-05-08 14:38:21,281 DEBUG [org.jbpm.persistence.db.DbPersistenceService] closing hibernate session
      2009-05-08 14:38:21,296 DEBUG [org.jbpm.svc.Services] closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService@aea288
      2009-05-08 14:38:21,296 DEBUG [org.jbpm.persistence.db.DbPersistenceService] committing org.hibernate.transaction.JTATransaction@a15856
      2009-05-08 14:38:21,296 ERROR [org.jbpm.persistence.db.DbPersistenceService] transaction commit failed
      org.hibernate.TransactionException: Transaction not successfully started
       at org.hibernate.transaction.JTATransaction.commit(JTATransaction.java:126)
       at org.jbpm.persistence.db.DbPersistenceService.commit(DbPersistenceService.java:227)
       at org.jbpm.persistence.db.DbPersistenceService.endTransaction(DbPersistenceService.java:132)
       at org.jbpm.persistence.db.DbPersistenceService.close(DbPersistenceService.java:198)
       at org.jbpm.svc.Services.close(Services.java:243)
       at org.jbpm.JbpmContext.close(JbpmContext.java:133)
       at org.jbpm.web.BootstrapListener.contextInitialized(BootstrapListener.java:64)
       at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3856)
       at org.apache.catalina.core.StandardContext.start(StandardContext.java:4361)
       at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:790)
       at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:770)
       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:296)
       at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.apache.catalina.core.StandardContext.init(StandardContext.java:5312)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)


      it continues for a lot of lines below....

      Does someone knows why this happens?

      Thanks

      Alvaro

        • 1. Re: can't run jbpm with persistence
          Ronald van Kuijk Master

          I think it is because something is configured wrong in combination with how you use jBPM. Can you show us your config?

          • 2. Re: can't run jbpm with persistence
            Alvaro Aguayo Newbie

            Sure. Here are three files I think are the most related to the problem. If you need any other configuration file, just tell me.

            jboss\server\deploy\default\jbpm\jbpm-postgresql-ds.xml

            <?xml version="1.0" encoding="UTF-8"?>
            <datasources>
            
             <xa-datasource>
             <jndi-name>JbpmDS</jndi-name>
            
             <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
             <xa-datasource-property name="ServerName">localhost</xa-datasource-property>
             <xa-datasource-property name="PortNumber">5432</xa-datasource-property>
             <xa-datasource-property name="DatabaseName">jbpmtest</xa-datasource-property>
             <user-name>jbpmtest</user-name>
             <password>jbpmtest</password>
            
             <!-- disable transaction interleaving
             <track-connection-by-tx /> -->
            
             <!-- corresponding type-mapping in conf/standardjbosscmp-jdbc.xml -->
             <metadata>
             <type-mapping>PostgreSQL 8.0</type-mapping>
             </metadata>
             </xa-datasource>
            
            </datasources>
            


            jboss\server\deploy\default\jbpm\jbpm-service.sar\jbpm.cfg.xml
            <jbpm-configuration>
            
             <!--
             This configuration file describes the default objects available to every
             JbpmConfiguration instance obtained through the jBPM API.
             Any custom object provided through an input source is added to
             the default objects here, and overwrites any object with the same name.
             -->
            
             <jbpm-context>
             <service name="persistence">
             <factory>
             <bean class="org.jbpm.persistence.db.DbPersistenceServiceFactory">
             <field name="isTransactionEnabled"><false /></field>
             <field name="sessionFactoryJndiName">
             <string value="java:/myHibSessFactJndiName" />
             </field>
             <field name="dataSourceJndiName">
             <string value="java:/myDataSourceJndiName" />
             </field>
             </bean>
             </factory>
             </service>
             <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" />
             <!-- Logging Service (begin) -->
             <service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory" />
             <!-- Logging Service (end) -->
             <service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory" />
             <service name="persistence" factory="org.jbpm.persistence.db.DbPersistenceServiceFactory" />
             <service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" />
             <service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
             </jbpm-context>
            
             <!-- configuration property used by persistence service impl org.jbpm.persistence.db.DbPersistenceServiceFactory -->
             <string name="resource.hibernate.cfg.xml" value="hibernate.cfg.xml" />
            
             <!-- configuration resource files pointing to default configuration files in jbpm-{version}.jar -->
             <string name="resource.business.calendar" value="org/jbpm/calendar/jbpm.business.calendar.properties" />
             <string name="resource.default.modules" value="org/jbpm/graph/def/jbpm.default.modules.properties" />
             <string name="resource.action.types" value="org/jbpm/graph/action/action.types.xml" />
             <string name="resource.node.types" value="org/jbpm/graph/node/node.types.xml" />
             <string name="resource.parsers" value="org/jbpm/jpdl/par/jbpm.parsers.xml" />
             <string name="resource.varmapping" value="org/jbpm/context/exe/jbpm.varmapping.xml" />
             <string name="resource.mail.templates" value="jbpm.mail.templates.xml" />
            
             <!-- class loading -->
             <!--
             <string name="jbpm.classLoader" value="jbpm" />
             <string name="jbpm.customClassLoader.className" value="org.example.ClassLoader" />
             <bean name="jbpm.processClassLoader" class="org.jbpm.instantiation.DefaultProcessClassLoaderFactory" singleton="true" />
             -->
            
             <!-- make sure the block size matches the length in ByteArray.hbm.xml -->
             <int name="jbpm.byte.block.size" value="1024" singleton="true" />
             <bean name="jbpm.task.instance.factory" class="org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl" singleton="true" />
             <bean name="jbpm.variable.resolver" class="org.jbpm.jpdl.el.impl.JbpmVariableResolver" singleton="true" />
             <string name="jbpm.mail.smtp.host" value="localhost" />
             <bean name="jbpm.mail.address.resolver" class="org.jbpm.identity.mail.IdentityAddressResolver" singleton="true" />
             <string name="jbpm.mail.from.address" value="jbpm@noreply" />
            
             <bean name="jbpm.job.executor" class="org.jbpm.job.executor.JobExecutor">
             <field name="jbpmConfiguration"><ref bean="jbpmConfiguration" /></field>
             <field name="name"><string value="JbpmJobExecutor" /></field>
             <field name="nbrOfThreads"><int value="1" /></field>
             <field name="idleInterval"><int value="5000" /></field>
             <field name="maxIdleInterval"><int value="3600000" /></field> <!-- 1 hour -->
             <field name="historyMaxSize"><int value="20" /></field>
             <field name="maxLockTime"><int value="600000" /></field> <!-- 10 minutes -->
             <field name="lockMonitorInterval"><int value="60000" /></field> <!-- 1 minute -->
             <field name="lockBufferTime"><int value="5000" /></field> <!-- 5 seconds -->
             </bean>
            
            </jbpm-configuration>
            
            <!--<jbpm-configuration>
            
             <jbpm-context>
             <service name="persistence" factory="org.jbpm.persistence.jta.JtaDbPersistenceServiceFactory" />
             <service name="message" factory="org.jbpm.msg.jms.JmsMessageServiceFactory" />
             <service name="scheduler" factory="org.jbpm.scheduler.ejbtimer.EntitySchedulerServiceFactory" />
             <service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
             <service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory" />
             <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" />
             </jbpm-context>
            
             <string name="jbpm.classLoader" value="context" />
            
             <null name="jbpm.job.executor" />
            
            </jbpm-configuration>
            -->


            jboss\server\deploy\default\jbpm\jbpm-service.sar\hibernate.cfg.xml
            <?xml version='1.0' encoding='utf-8'?>
            <!DOCTYPE hibernate-configuration PUBLIC
             "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
             "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
            
            <hibernate-configuration>
             <session-factory>
             <!--
             System Service QA Database PostgreSQL
             https://wiki.corp.jboss.com/bin/view/IT/SystemServiceQaDatabasePostgresql
            
             Install PostgreSQL on Fedora
             http://www.jboss.org/community/docs/DOC-13270
             -->
            
             <!-- hibernate dialect -->
             <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
            
             <!-- JDBC connection properties (begin) -->
             <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
             <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/jbpmtest</property>
             <property name="hibernate.connection.username">jbpmtest</property>
             <property name="hibernate.connection.password">jbpmtest</property>
             <!-- JDBC connection properties (end) -->
            
             <!-- DataSource properties (begin) -->
             <property name="hibernate.connection.datasource">java:JbpmDS</property>
             <!-- DataSource properties (end) -->
            
             <!-- JTA transaction properties (begin) -->
             <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
             <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
             <!-- JTA transaction properties (end) -->
            
             <!-- CMT transaction properties (begin) ===
             <property name="hibernate.transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property>
             <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
             ==== CMT transaction properties (end) -->
            
             <!-- ################################### -->
             <!-- # common settings # -->
             <!-- ################################### -->
            
             <!-- Automatic schema creation (begin) ===
             <property name="hibernate.hbm2ddl.auto">create</property>
             ==== Automatic schema creation (end) -->
            
             <!-- Simple memory-only cache -->
             <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
            
             <!-- logging properties -->
             <property name="hibernate.format_sql">true</property>
             <property name="hibernate.use_sql_comments">true</property>
            
             <!-- ############################################ -->
             <!-- # mapping files with external dependencies # -->
             <!-- ############################################ -->
            
             <!-- Additional mappings defined per module go here -->
             <mapping resource="hibernate.extra.hbm.xml" />
             <mapping resource="hibernate.identity.hbm.xml" />
             <!-- ###################### -->
             <!-- # jbpm mapping files # -->
             <!-- ###################### -->
            
             <!-- hql queries -->
             <mapping resource="org/jbpm/db/hibernate.queries.hbm.xml" />
            
             <!-- hql queries used in simulation for querying historical data.
             uncomment if you want to use the GetSimulationInputCommand
             or you want to use the queries directly.
             beware: the queries need the stddev function to be enabled in your dialect.
             for more information, visit:
             http://www.camunda.com/business_process_simulation_news/mysql_and_stddev.html -->
             <!--
             <mapping resource="org/jbpm/sim/bam/hibernate.queries.hbm.xml" />
             -->
            
             <!-- graph.action mapping files -->
             <mapping resource="org/jbpm/graph/action/MailAction.hbm.xml"/>
            
             <!-- graph.def mapping files -->
             <mapping resource="org/jbpm/graph/def/ProcessDefinition.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/Node.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/Transition.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/Event.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/Action.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/SuperState.hbm.xml"/>
             <mapping resource="org/jbpm/graph/def/ExceptionHandler.hbm.xml"/>
             <mapping resource="org/jbpm/instantiation/Delegation.hbm.xml"/>
            
             <!-- ########################################### -->
             <!-- # mapping file with external dependencies # -->
             <!-- ########################################### -->
             <!-- the following mapping file has a dependency on 'bsh-{version}.jar'.
             uncomment this if bsh is not in your classpath.
             the script element will not be available in process definition files.
             note: this mapping must appear below org/jbpm/graph/def/Action.hbm.xml -->
             <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>
            
             <!-- graph.node mapping files -->
             <mapping resource="org/jbpm/graph/node/StartState.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/EndState.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/ProcessState.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/Decision.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/Fork.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/Join.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/MailNode.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/State.hbm.xml"/>
             <mapping resource="org/jbpm/graph/node/TaskNode.hbm.xml"/>
            
             <!-- context.def mapping files -->
             <mapping resource="org/jbpm/context/def/ContextDefinition.hbm.xml"/>
             <mapping resource="org/jbpm/context/def/VariableAccess.hbm.xml"/>
            
             <!-- bytes mapping files -->
             <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>
            
             <!-- module.def mapping files -->
             <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>
            
             <!-- file.def mapping files -->
             <mapping resource="org/jbpm/file/def/FileDefinition.hbm.xml"/>
            
             <!-- taskmgmt.def mapping files -->
             <mapping resource="org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/def/Swimlane.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/def/Task.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/def/TaskController.hbm.xml"/>
            
             <!-- scheduler.def mapping files -->
             <mapping resource="org/jbpm/scheduler/def/CreateTimerAction.hbm.xml"/>
             <mapping resource="org/jbpm/scheduler/def/CancelTimerAction.hbm.xml"/>
            
             <!-- graph.exe mapping files -->
             <mapping resource="org/jbpm/graph/exe/Comment.hbm.xml"/>
             <mapping resource="org/jbpm/graph/exe/ProcessInstance.hbm.xml"/>
             <mapping resource="org/jbpm/graph/exe/Token.hbm.xml"/>
             <mapping resource="org/jbpm/graph/exe/RuntimeAction.hbm.xml"/>
            
             <!-- module.exe mapping files -->
             <mapping resource="org/jbpm/module/exe/ModuleInstance.hbm.xml"/>
            
             <!-- context.exe mapping files -->
             <mapping resource="org/jbpm/context/exe/ContextInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/TokenVariableMap.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/VariableInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml"/>
             <mapping resource="org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml"/>
            
             <!-- job mapping files -->
             <mapping resource="org/jbpm/job/Job.hbm.xml"/>
             <mapping resource="org/jbpm/job/Timer.hbm.xml"/>
             <mapping resource="org/jbpm/job/ExecuteNodeJob.hbm.xml"/>
             <mapping resource="org/jbpm/job/ExecuteActionJob.hbm.xml"/>
             <mapping resource="org/jbpm/job/CleanUpProcessJob.hbm.xml"/>
            
             <!-- taskmgmt.exe mapping files -->
             <mapping resource="org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/exe/PooledActor.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml"/>
            
             <!-- logging mapping files -->
             <mapping resource="org/jbpm/logging/log/ProcessLog.hbm.xml"/>
             <mapping resource="org/jbpm/logging/log/MessageLog.hbm.xml"/>
             <mapping resource="org/jbpm/logging/log/CompositeLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/ActionLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/NodeLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/ProcessStateLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/SignalLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/TokenCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/TokenEndLog.hbm.xml"/>
             <mapping resource="org/jbpm/graph/log/TransitionLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/VariableLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/VariableCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/VariableDeleteLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/VariableUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/TaskLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml"/>
             <mapping resource="org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml"/>
            
             <!-- ################## -->
             <!-- # cache settings # -->
             <!-- ##################-->
            
             <!-- strategy="nonstrict-read-write" can be used with HashtableCacheProvider -->
            
             <class-cache class="org.jbpm.context.def.VariableAccess" usage="nonstrict-read-write" />
            
             <collection-cache collection="org.jbpm.file.def.FileDefinition.processFiles" usage="nonstrict-read-write" />
            
             <collection-cache collection="org.jbpm.graph.action.Script.variableAccesses" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.graph.def.Action" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.graph.def.Event" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.Event.actions" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.graph.def.ExceptionHandler" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.ExceptionHandler.actions" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.graph.def.Node" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.Node.events" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.Node.exceptionHandlers" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.Node.leavingTransitions" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.Node.arrivingTransitions" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.graph.def.ProcessDefinition" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.events" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.exceptionHandlers" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.nodes" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.actions" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.ProcessDefinition.definitions" usage="nonstrict-read-write" />
            
             <collection-cache collection="org.jbpm.graph.def.SuperState.nodes" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.graph.def.Transition" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.Transition.events" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.graph.def.Transition.exceptionHandlers" usage="nonstrict-read-write" />
            
             <collection-cache collection="org.jbpm.graph.node.Decision.decisionConditions" usage="nonstrict-read-write" />
            
             <collection-cache collection="org.jbpm.graph.node.ProcessState.variableAccesses" usage="nonstrict-read-write" />
            
             <collection-cache collection="org.jbpm.graph.node.TaskNode.tasks" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.instantiation.Delegation" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.module.def.ModuleDefinition" usage="nonstrict-read-write" />
            
             <collection-cache collection="org.jbpm.taskmgmt.def.Swimlane.tasks" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.taskmgmt.def.TaskController" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.taskmgmt.def.TaskController.variableAccesses" usage="nonstrict-read-write" />
            
             <class-cache class="org.jbpm.taskmgmt.def.Task" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.taskmgmt.def.Task.events" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.taskmgmt.def.Task.exceptionHandlers" usage="nonstrict-read-write" />
            
             <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.swimlanes" usage="nonstrict-read-write" />
             <collection-cache collection="org.jbpm.taskmgmt.def.TaskMgmtDefinition.tasks" usage="nonstrict-read-write" />
             </session-factory>
            </hibernate-configuration>



            thanks

            • 3. Re: can't run jbpm with persistence
              Joram Barrez Master

              Check out http://docs.jboss.org/jbpm/v3/userguide/persistence.html#jtatransactions . Taking a quick look at your config, it seems that you define too much (eg sessionFactory AND datasource in JNDI). Try to start from the most basic configuration and see what happens.