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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...