[jboss-user] [JBoss jBPM] - DelegationException - some sort of configuration issue

nizzy do-not-reply at jboss.com
Wed Jun 4 09:49:13 EDT 2008


Hi,

I'm completely stumped. I had a working configuration and I think the jbpm.cfg.xml file has been overwritten by someone. Now I can't get JBPM working again.

I'm using JBPM3.2.2 in JBOSS4.2.2. I had a Client which did a remote lookup of a SessionBean, this bean contained methods such as

deploy
createProcessInstance
storeInContextInstance

and so on.

Anyway to the problem;

I'm getting the following exception when I try to signal the process instance. The processDefinition I'm using runs fine "out of the container" which leads me to believe the issue is with the configuration of hibernate from JBPM.

It is only jbpm.cfg.xml which has changed, it is 

<jbpm-configuration>
  | 	<jbpm-context>
  | 		<service name="persistence" factory="org.jbpm.persistence.db.DbPersistenceServiceFactory"/>
  | 		<service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory"/>
  | 		<service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory"/>
  | 		<service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory"/>
  | 		<service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory"/>
  | 		<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-jpdl.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.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.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"/>
  | 	<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"/>
  | 	<!-- note that the default job executor needs to be overwritten with a null value -->
  | 	<null name="jbpm.job.executor"/>
  | </jbpm-configuration>

stacktrace is


  | 14:33:08,569 [WorkerThread#0[127.0.0.1:1507]] INFO  [STDOUT] 14:33:08,569 ERROR [GraphElement] action threw exception: attempt to create create event with null entity
  | java.lang.IllegalArgumentException: attempt to create create event with null entity
  | 	at org.hibernate.event.PersistEvent.<init>(PersistEvent.java:24)
  | 	at org.hibernate.event.PersistEvent.<init>(PersistEvent.java:17)
  | 	at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:592)
  | 	at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:596)
  | 	at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:212)
  | 	at org.jboss.ejb3.entity.TransactionScopedEntityManager.persist(TransactionScopedEntityManager.java:182)
  | 	at com.ecebs.sample.JPAHelper.persist(JPAHelper.java:39)
  | 	at com.ecebs.sample.action.ProcessISAMIdActionHandler.execute(ProcessISAMIdActionHandler.java:40)
  | 	at org.jbpm.graph.def.Action.execute(Action.java:122)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  | 	at java.lang.reflect.Method.invoke(Unknown Source)
  | 	at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
  | 	at org.jbpm.graph.def.Action_$$_javassist_64.execute(Action_$$_javassist_64.java)
  | 	at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
  | 	at org.jbpm.graph.def.Node.execute(Node.java:339)
  | 	at org.jbpm.graph.def.Node.enter(Node.java:319)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  | 	at java.lang.reflect.Method.invoke(Unknown Source)
  | 	at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
  | 	at org.jbpm.graph.def.Node_$$_javassist_50.enter(Node_$$_javassist_50.java)
  | 	at org.jbpm.graph.def.Transition.take(Transition.java:151)
  | 	at org.jbpm.graph.def.Node.leave(Node.java:394)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  | 	at java.lang.reflect.Method.invoke(Unknown Source)
  | 	at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
  | 	at org.jbpm.graph.def.Node_$$_javassist_50.leave(Node_$$_javassist_50.java)
  | 	at org.jbpm.graph.exe.Token.signal(Token.java:195)
  | 	at org.jbpm.graph.exe.Token.signal(Token.java:140)
  | 	at com.ecebs.sample.SessionBean.signal(SessionBean.java:158)
  | 	at com.ecebs.sample.SessionBean.signalProcess(SessionBean.java:82)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  | 	at java.lang.reflect.Method.invoke(Unknown Source)
  | 	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:47)
  | 	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:95)
  | 	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:110)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
  | 	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:304)
  | 	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:769)
  | 	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:573)
  | 	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:373)
  | 	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:166)
  | 

I can see from the DB that the process definition is deployed fine.

I was sure that in my previous jbpm.cfg.xml file that I did not have the tx sevice defined! Is this possible?

Any help would be appreciated, I have been fighting with different issues in JBPM for a couple of weeks now and thought I had it cracked until this most recent issue.

Since it is running in the AS then I do not have a unit test that I can post. As I say this was working this morning!

Regards Alan

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

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



More information about the jboss-user mailing list