[jboss-user] [JBoss jBPM] - Re: EJB3 Stateless Session Bean and jbpm-enterprise.ear

crussell42 do-not-reply at jboss.com
Tue Apr 3 10:18:54 EDT 2007


Martin, thank you so very much.
Ronald man I don't have any idea what you were trying to convey.

The ONLY difference from what I had already tried was the silly removal of the

  |     <property name="jta.UserTransaction">java:comp/UserTransaction</property>
  | 
If it is there, the deleteJobsForProcessInstance throws the exception.
Silly me I figured that the flag isTransactionEnabled would override ever even reading this property?

So just to ease others pain and suffering here is the jbpm.cfg.xml and hibernate.cfg.xml that work for me for postgres.
Also this little snippet is important as well when creating a JbpmContext from your own config xml string. The combination of these 3 things finally does seem to work.

  |    /**
  |      * Get jbpm context. Note that we must set the session from the DbPersistenceService
  |      * or hibernate will fail.
  |      */
  |     private JbpmContext getJbpmContext() {
  | 	//JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();
  | 	JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
  | 	DbPersistenceService persServ=(DbPersistenceService)jbpmContext.getServices().getPersistenceService();
  | 	jbpmContext.setSession(persServ.getSessionFactory().getCurrentSession());
  | 	return jbpmContext;
  |     }
  | 
jbpm.cfg.xml (actually just an xml string in my program)

  | 		 "<jbpm-configuration>"+
  | 		 "  <jbpm-context>"+
  | 		 "    <service name='persistence' >"+
  | 		 "       <factory>"+
  | 		 "         <bean class='org.jbpm.persistence.db.DbPersistenceServiceFactory'
  | />"+
  | 		 "         <field name='isTransactionEnabled'><false /></field>"+
  |                  "       </factory>"+
  | 		 "    </service>"+
  | 		 "    <service name='message' factory='org.jbpm.msg.jms.JmsMessageServiceFactoryImpl' />"+
  | 		 "    <service name='scheduler' factory='org.jbpm.scheduler.ejbtimer.EjbSchedulerServiceFactory' />"+
  | 		 "    <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='resource.hibernate.cfg.xml' " +
  | 		 "          value='"+hibernateName+"' />" +
  | 		 "  <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.converter' " +
  | 		 "          value='org/jbpm/db/hibernate/jbpm.converter.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.varmapping' " +
  | 		 "          value='org/jbpm/context/exe/jbpm.varmapping.xml' />" +
  | 		 "  <string name='resource.mail.templates' value='jbpm.mail.templates.xml' />"+
  | 		 //"<int    name='jbpm.byte.block.size' value='1024' singleton='true' />"+
  | 		 //"<string name='jbpm.mail.smtp.host' value='localhost' />"+
  | 		 //"<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' />"+
  | 		 //"<bean   name='jbpm.mail.address.resolver' class='org.jbpm.identity.mail.IdentityAddressResolver' singleton='true' />"+
  | 		 //"<null name='jbpm.job.executor' />"+
  | 		 "</jbpm-configuration>"
  | 
  | 
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>
  | 
  |     <!-- 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://10.0.0.50:5432/jboss4.0.5</property>
  |     <property name="hibernate.connection.username">postgres</property>
  |     <property name="hibernate.connection.password">postgres</property>
  |     ==== JDBC connection properties (end) -->
  |     
  |     <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
  |     
  |     <!-- JBoss transaction manager lookup (begin) -->
  |     <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property>
  |     <!-- JBoss transaction manager lookup (end) -->
  | 
  |     <!-- DataSource properties (begin) -->
  |     <property name="hibernate.connection.datasource">java:/PostgresDS</property>
  |     <!-- DataSource properties (end) -->
  |     
  |     <!-- JTA transaction properties (begin) -->
  |     <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property>
  |    
  |    <!-- DONT FORGET TO COMMENT THIS OUT IF USING CONTAINER -->
  |     <!-- <property name="jta.UserTransaction">java:comp/UserTransaction</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) -->
  | 
  |     <!-- logging properties (begin) ===
  |     <property name="hibernate.show_sql">true</property>
  |     <property name="hibernate.format_sql">true</property>
  |     <property name="hibernate.use_sql_comments">true</property>
  |     ==== logging properties (end) -->
  |     
  | 
  |     <!-- ############################################ -->
  |     <!-- # mapping files with external dependencies # -->
  |     <!-- ############################################ -->
  | 
  |     <!-- following mapping file has a dependendy on   -->
  |     <!-- 'bsh-{version}.jar'.                         -->
  |     <!-- uncomment this if you don't have bsh on your -->
  |     <!-- classpath.  you won't be able to use the     -->
  |     <!-- script element in process definition files   -->
  |     <mapping resource="org/jbpm/graph/action/Script.hbm.xml"/>
  | 
  |     <!-- following mapping files have a dependendy on  -->
  |     <!-- 'jbpm-identity.jar', mapping files            -->
  |     <!-- of the pluggable jbpm identity component.     -->
  |     <!-- Uncomment the following 3 lines if you        -->
  |     <!-- want to use the jBPM identity mgmgt           -->
  |     <!-- component.                                    -->
  |     <mapping resource="org/jbpm/identity/User.hbm.xml"/>
  |     <mapping resource="org/jbpm/identity/Group.hbm.xml"/>
  |     <mapping resource="org/jbpm/identity/Membership.hbm.xml"/> 
  |     
  |     <!-- following mapping files have a dependendy on  -->
  |     <!-- the JCR API                                   -->
  |     <!-- jcr mappings (begin) ===
  |     <mapping resource="org/jbpm/context/exe/variableinstance/JcrNodeInstance.hbm.xml"/>
  |     ==== jcr mappings (end) -->
  | 
  | 
  |     <!-- ###################### -->
  |     <!-- # jbpm mapping files # -->
  |     <!-- ###################### -->
  | 
  |     <!-- hql queries and type defs -->
  |     <mapping resource="org/jbpm/db/hibernate.queries.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"/>
  | 
  |     <!-- 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/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"/>
  | 
  |     <!-- 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"/>
  | 
  |     <!-- module.def mapping files -->
  |     <mapping resource="org/jbpm/module/def/ModuleDefinition.hbm.xml"/>
  | 
  |     <!-- bytes mapping files -->
  |     <mapping resource="org/jbpm/bytes/ByteArray.hbm.xml"/>
  | 
  |     <!-- file.def mapping files -->
  |     <mapping resource="org/jbpm/file/def/FileDefinition.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"/>
  | 
  |     <!-- 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"/>
  |     
  |   </session-factory>
  | </hibernate-configuration>
  | 


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4034097#4034097

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4034097



More information about the jboss-user mailing list