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

crussell42 do-not-reply at jboss.com
Mon Apr 2 15:06:53 EDT 2007


Can someone please explain the correct transaction configuration for creating a stateless session bean that accesses the jbpm-enterprise.ear
Ive asked this everyway I know how and searched every forum I can. There are only ever hints, rumors, and guesses. Please help before I shoot my computer and go to work for microsoft.

jbpm.3 built from source
Jboss 4.0.5GA with jboss-messaging and EJB3.
Postgres 8.2.3 database for all of the above.

I have all the databases, undocumented messaging queues added to jboss configs, login-config working properly, etc. Can deploy websale.jpdl and walk through it using the jbpm-console. Alls good there. But that is all within the confines of jbpm-enterprise.ear.

Now, next logical step, have an ejb start a simple work flow and signal it through to the end. I can post code but it is basically the HelloWorld example.
ejb3.method1 initiates the process.
ejb3.method2 signals process to some intermediate node
ejb3.method3 signals process to end node.
I am able to have my ejb3 initiate a process and signal to intermediate tokens but when I signal it to the end I get exceptions about JTA transaction not bound.
So with my config everything works fine up until the deleteJobsForProcessInstance call.

I know it is just a config issue but no one seems to have a real or complete explanation of how the jbpm-enterprise's jbpm.cfg.xml and hibernate.cfg.xml should be configured and how an ejb in a separate ear (that does not contain jbpm-jpdl.jar) should be configured.

YES I have read section X of the user guide on persistence and YES I have STFF so please do not belittle someone trying hard to use this product in a real world way! 

My jbpm.cfg.xml (Only way I could even get where I am now)
Was unable to get working the JtaDbPersistenceServiceFactory so I droped back toDbPersistenceServiceFactory. The user guide says to disable transactions but if I put in  isTransactionEnabled=true that does not work either. If I try to enable CMT in the jbpm-enterprises hibernate.cfg.xml I cant even run the websale example because it complains about the CMT. I've tried every combination imaginable so it would be very helpful to have a working example rather than my partially working example.

Why am I able to initiate a process and signal it but not signal it to the end. I assume it has something to do with the Schedular service some how. If the deleting of process instance is supposed to join the CMT transaction initiated in my ejb method then how do I get it to join my inprocess transaction? JoinableCMTTransactionFactory.??

EJB3's  jbpm.cfg.xml (matches jbpm-enterprise's as does the hibernate.cfg.xml)

  | 	jbpmConfiguration = JbpmConfiguration.parseXmlString(
  | 		 "<jbpm-configuration>"+
  | 		 "  <jbpm-context>"+
  | 		 "    <service name='persistence' >"+
  | 		 "       <factory>"+
  |                  //"         <bean class='org.jbpm.persistence.jta.JtaDbPersistenceServiceFactory' />"+
  | 		 "         <bean class='org.jbpm.persistence.db.DbPersistenceServiceFactory' />"+
  | 		 //"         <field name='isTransactionEnabled'><false /></field>"+
  | 		 //"         <field name='isCurrentSessionEnabled'><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 used for both jbpm-enterprise.ear and my ear

  | <?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>
  |     <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>
  | 
  | 

Exception seen when transitioning to end state.


  | 10:06:27,276 WARN  [ProxyWarnLog] Narrowing proxy to class org.jbpm.graph.node.TaskNode - this operation breaks ==
  | 10:06:27,347 ERROR [JTATransaction] Could not find UserTransaction in JNDI
  | javax.naming.NameNotFoundException: UserTransaction not bound
  | 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
  | 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
  | 	at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
  | 	at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:716)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
  | 	at javax.naming.InitialContext.lookup(InitialContext.java:351)
  | 	at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60)
  | 	at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.java:57)
  | 	at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193)
  | 	at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315)
  | 	at org.jbpm.db.JobSession.deleteJobsForProcessInstance(JobSession.java:213)
  | 	at org.jbpm.scheduler.ejbtimer.EjbSchedulerService.deleteTimersByProcessInstance(EjbSchedulerService.java:59)
  | 	at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:310)
  | 	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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
  | 	at org.jbpm.graph.exe.ProcessInstance_$$_javassist_105.end(ProcessInstance_$$_javassist_105.java)
  | 	at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:320)
  | 	at org.jbpm.graph.exe.Token.end(Token.java:292)
  | 	at org.jbpm.graph.exe.Token.end(Token.java:242)
  | 	at org.jbpm.graph.node.EndState.execute(EndState.java:59)
  | 	at org.jbpm.graph.def.Node.enter(Node.java:318)
  | 	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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
  | 	at org.jbpm.graph.def.Node_$$_javassist_44.enter(Node_$$_javassist_44.java)
  | 	at org.jbpm.graph.def.Transition.take(Transition.java:151)
  | 	at org.jbpm.graph.def.Node.leave(Node.java:393)
  | 	at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:209)
  | 	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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
  | 	at org.jbpm.graph.def.Node_$$_javassist_44.leave(Node_$$_javassist_44.java)
  | 	at org.jbpm.graph.exe.Token.signal(Token.java:194)
  | 	at org.jbpm.graph.exe.Token.signal(Token.java:139)
  | 	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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
  | 	at org.jbpm.graph.exe.Token_$$_javassist_52.signal(Token_$$_javassist_52.java)
  | 	at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:475)
  | 	at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:389)
  | 	at server.ejb.TestWorkFlowBean.finishTestWorkFlow(TestWorkFlowBean.java:316)
  | 	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.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
  | 	at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
  | 	at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:46)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
  | 	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
  | 	at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:263)
  | 	at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
  | 	at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
  | 	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
  | 	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
  | 	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
  | 	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:412)
  | 	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
  | 10:06:27,425 ERROR [STDERR] org.hibernate.TransactionException: Could not find UserTransaction in JNDI: 
  | 	at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:64)
  | 	at org.hibernate.transaction.JTATransactionFactory.createTransaction(JTATransactionFactory.java:57)
  | 	at org.hibernate.jdbc.JDBCContext.getTransaction(JDBCContext.java:193)
  | 	at org.hibernate.impl.SessionImpl.getTransaction(SessionImpl.java:1315)
  | 	at org.jbpm.db.JobSession.deleteJobsForProcessInstance(JobSession.java:213)
  | 	at org.jbpm.scheduler.ejbtimer.EjbSchedulerService.deleteTimersByProcessInstance(EjbSchedulerService.java:59)
  | 	at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:310)
  | 	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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
  | 	at org.jbpm.graph.exe.ProcessInstance_$$_javassist_105.end(ProcessInstance_$$_javassist_105.java)
  | 	at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:320)
  | 	at org.jbpm.graph.exe.Token.end(Token.java:292)
  | 	at org.jbpm.graph.exe.Token.end(Token.java:242)
  | 	at org.jbpm.graph.node.EndState.execute(EndState.java:59)
  | 	at org.jbpm.graph.def.Node.enter(Node.java:318)
  | 	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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
  | 	at org.jbpm.graph.def.Node_$$_javassist_44.enter(Node_$$_javassist_44.java)
  | 	at org.jbpm.graph.def.Transition.take(Transition.java:151)
  | 	at org.jbpm.graph.def.Node.leave(Node.java:393)
  | 	at org.jbpm.graph.node.TaskNode.leave(TaskNode.java:209)
  | 	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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
  | 	at org.jbpm.graph.def.Node_$$_javassist_44.leave(Node_$$_javassist_44.java)
  | 	at org.jbpm.graph.exe.Token.signal(Token.java:194)
  | 	at org.jbpm.graph.exe.Token.signal(Token.java:139)
  | 	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.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
  | 	at org.jbpm.graph.exe.Token_$$_javassist_52.signal(Token_$$_javassist_52.java)
  | 	at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:475)
  | 	at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:389)
  | 	at server.ejb.TestWorkFlowBean.finishTestWorkFlow(TestWorkFlowBean.java:316)
  | 	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.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
  | 	at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
  | 	at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:46)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
  | 	at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
  | 	at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:263)
  | 	at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
  | 	at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
  | 	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
  | 	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
  | 	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
  | 	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:412)
  | 	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
  | Caused by: javax.naming.NameNotFoundException: UserTransaction not bound
  | 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
  | 	at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
  | 	at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
  | 	at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:716)
  | 	at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
  | 	at javax.naming.InitialContext.lookup(InitialContext.java:351)
  | 	at org.hibernate.transaction.JTATransaction.<init>(JTATransaction.java:60)
  | 	... 77 more
  | 
  | 

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

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



More information about the jboss-user mailing list