[jboss-user] [JBoss jBPM] - errors when starting a new task and with ejbPassivate() meth

fafnir do-not-reply at jboss.com
Fri Oct 20 05:29:18 EDT 2006


Hello,

I'm using the jbpm workflow engine within my Stateful Session Bean. My Processdefinition contains several tasks and subprocesses. When I start my clientapplication, it connects to the server and starts a new process. I'm using the Borland Application Server 6.6. But I have problems with my ejbPassivate() method, I get the following error:


  | 2006-10-12 10:53:37,377 INFO   - ejbPassivate()
  | 2006-10-12 10:53:38,517 INFO   - org.omg.CORBA.BAD_PARAM: Cannot write instance of gp.session.GPManager to stream [Reason:Could not cast classLoader of class org.jbpm.configuration.ObjectFactoryImpl to java.io.Serializable]  vmcid: 0x0  minor code: 0  completed: No
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream.write_abstract_interface(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.rmi.CORBA.FieldWriter.writeFields(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.writeThisValue(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.writeValue(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.octets(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.state(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.value(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream.writeValueType(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream.write_value(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.rmi.CORBA.FieldWriter.writeFields(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.writeThisValue(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.writeValue(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.octets(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.state(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.value(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream.writeValueType(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.CDROutputStream.write_value(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.ejb.Global.writeObject(Global.java:384)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.ejb.StatefulSessionHome.etherealize(StatefulSessionHome.java:440)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.ejb.StatefulSessionHome$ServantActivator.etherealize(StatefulSessionHome.java:753)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.poa.POAImpl$Etherealizer.run(Unknown Source)
  | 2006-10-12 10:53:38,517 INFO   - 	at com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(Unknown Source)
  | 2006-10-12 10:53:38,517 ERROR  - Error in StatefulSessionHome.ServantActivator.etherealize
  | org.omg.CORBA.MARSHAL: Cannot write instance of gp.session.GPManager to stream [Reason:Could not cast classLoader of class org.jbpm.configuration.ObjectFactoryImpl to java.io.Serializable]  vmcid: 0x0  minor code: 0  completed: No
  | 	at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.writeValue(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.octets(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.state(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.value(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream.writeValueType(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream.write_value(Unknown Source)
  | 	at com.inprise.vbroker.rmi.CORBA.FieldWriter.writeFields(Unknown Source)
  | 	at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.writeThisValue(Unknown Source)
  | 	at com.inprise.vbroker.rmi.CORBA.ValueHandlerImpl.writeValue(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.octets(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.state(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream$ValueTypeWriter.value(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream.writeValueType(Unknown Source)
  | 	at com.inprise.vbroker.orb.CDROutputStream.write_value(Unknown Source)
  | 	at com.inprise.ejb.Global.writeObject(Global.java:384)
  | 	at com.inprise.ejb.StatefulSessionHome.etherealize(StatefulSessionHome.java:440)
  | 	at com.inprise.ejb.StatefulSessionHome$ServantActivator.etherealize(StatefulSessionHome.java:753)
  | 	at com.inprise.vbroker.poa.POAImpl$Etherealizer.run(Unknown Source)
  | 	at com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(Unknown Source)
  | 

All my classes and all classes of jbpm are serializable, so I don?t know why I?m getting this error. And what is this classLoader of class org.jbpm.configuration.ObjectFactoryImpl?

So I set the timeout for passivation to 0 seconds, that ejbPassivate() isn't called.
But now I have another problem. When I start my application it works fine for the first time, but then I have to restart the server or I?m getting another error, when the workflow engine tries to start the first task of my subprocess:


  | 2006-10-12 11:04:37,671 ERROR  - Could not synchronize database state with session
  | org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.graph.exe.Token#90439]
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2208)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2374)
  | 	at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:84)
  | 	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
  | 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
  | 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
  | 	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
  | 	at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41)
  | 	at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:951)
  | 	at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:109)
  | 	at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:37)
  | 	at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1203)
  | 	at org.jbpm.db.TaskMgmtSession.findTaskInstancesByToken(TaskMgmtSession.java:133)
  | 	at gp.EngineManager.getNextTaskInstance(EngineManager.java:164)
  | 	at gp.EngineManager.starteTask(EngineManager.java:121)
  | 	at gp.session.GPManager.starteTask(GPManager.java:62)
  | 	at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at com.inprise.ejb.ConcreteMethod.invoke(ConcreteMethod.java:32)
  | 	at com.inprise.ejb.EJBContext.invoke(EJBContext.java:209)
  | 	at com.inprise.ejb.Dispatcher.doInvoke(Dispatcher.java:1529)
  | 	at com.inprise.ejb.Dispatcher.invokeJACCSecurityCheck(Dispatcher.java:1137)
  | 	at com.inprise.ejb.Dispatcher.invokeSecurityCheck(Dispatcher.java:1147)
  | 	at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:892)
  | 	at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:664)
  | 	at com.inprise.ejb.EJBHome.dispatcherInvokeBeanMethod(EJBHome.java:85)
  | 	at com.inprise.ejb.EJBHome$ComponentInterfaceMethodCache.invokeDispatcherMethod(EJBHome.java:1563)
  | 	at com.inprise.ejb.EJBHome.invokeDispatcherMethod(EJBHome.java:63)
  | 	at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:468)
  | 	at gp.session.GPManagerRemotePOAInvokeHandler.starteTask(GPManagerRemotePOAInvokeHandler.java:135)
  | 	at gp.session.GPManagerRemotePOAInvokeHandler.starteTask(GPManagerRemotePOAInvokeHandler.java:218)
  | 	at gp.session.GPManagerRemotePOA._invoke(GPManagerRemotePOA.java:89)
  | 	at gp.session.GPManagerRemotePOA._invoke(GPManagerRemotePOA.java:52)
  | 	at com.inprise.vbroker.poa.POAImpl.invoke(Unknown Source)
  | 	at com.inprise.vbroker.poa.ActivationRecord.invoke(Unknown Source)
  | 	at com.inprise.vbroker.poa.ServerInterceptorManager$ARWrapper.invoke(Unknown Source)
  | 	at com.inprise.vbroker.GIOP.GiopProtocolAdapter.doRequest(Unknown Source)
  | 	at com.inprise.vbroker.IIOP.ServerProtocolAdapter.doRequest(Unknown Source)
  | 	at com.inprise.vbroker.GIOP.GiopProtocolAdapter.dispatchMessage(Unknown Source)
  | 	at com.inprise.vbroker.orb.TPDispatcherImpl$TPDispatcher.run(Unknown Source)
  | 	at com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(Unknown Source)
  | 2006-10-12 11:04:37,671 ERROR  - org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.graph.exe.Token#90439]
  | 2006-10-12 11:04:37,671 ERROR  - Throwing System exception for the container-started transaction for method: public abstract boolean gp.session.GPManagerRemote.starteTask(java.util.List) throws java.rmi.RemoteException
  | org.jbpm.JbpmException: couldn't get task instances by token '90439'
  | 	at org.jbpm.db.TaskMgmtSession.findTaskInstancesByToken(TaskMgmtSession.java:139)
  | 	at gp.EngineManager.getNextTaskInstance(EngineManager.java:164)
  | 	at gp.EngineManager.starteTask(EngineManager.java:121)
  | 	at gp.session.GPManager.starteTask(GPManager.java:62)
  | 	at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at com.inprise.ejb.ConcreteMethod.invoke(ConcreteMethod.java:32)
  | 	at com.inprise.ejb.EJBContext.invoke(EJBContext.java:209)
  | 	at com.inprise.ejb.Dispatcher.doInvoke(Dispatcher.java:1529)
  | 	at com.inprise.ejb.Dispatcher.invokeJACCSecurityCheck(Dispatcher.java:1137)
  | 	at com.inprise.ejb.Dispatcher.invokeSecurityCheck(Dispatcher.java:1147)
  | 	at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:892)
  | 	at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:664)
  | 	at com.inprise.ejb.EJBHome.dispatcherInvokeBeanMethod(EJBHome.java:85)
  | 	at com.inprise.ejb.EJBHome$ComponentInterfaceMethodCache.invokeDispatcherMethod(EJBHome.java:1563)
  | 	at com.inprise.ejb.EJBHome.invokeDispatcherMethod(EJBHome.java:63)
  | 	at com.inprise.ejb.Dispatcher.invoke(Dispatcher.java:468)
  | 	at gp.session.GPManagerRemotePOAInvokeHandler.starteTask(GPManagerRemotePOAInvokeHandler.java:135)
  | 	at gp.session.GPManagerRemotePOAInvokeHandler.starteTask(GPManagerRemotePOAInvokeHandler.java:218)
  | 	at gp.session.GPManagerRemotePOA._invoke(GPManagerRemotePOA.java:89)
  | 	at gp.session.GPManagerRemotePOA._invoke(GPManagerRemotePOA.java:52)
  | 	at com.inprise.vbroker.poa.POAImpl.invoke(Unknown Source)
  | 	at com.inprise.vbroker.poa.ActivationRecord.invoke(Unknown Source)
  | 	at com.inprise.vbroker.poa.ServerInterceptorManager$ARWrapper.invoke(Unknown Source)
  | 	at com.inprise.vbroker.GIOP.GiopProtocolAdapter.doRequest(Unknown Source)
  | 	at com.inprise.vbroker.IIOP.ServerProtocolAdapter.doRequest(Unknown Source)
  | 	at com.inprise.vbroker.GIOP.GiopProtocolAdapter.dispatchMessage(Unknown Source)
  | 	at com.inprise.vbroker.orb.TPDispatcherImpl$TPDispatcher.run(Unknown Source)
  | 	at com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(Unknown Source)
  | Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [org.jbpm.graph.exe.Token#90439]
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1635)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2208)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2118)
  | 	at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2374)
  | 	at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:84)
  | 	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
  | 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:227)
  | 	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:141)
  | 	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:296)
  | 	at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:41)
  | 	at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:951)
  | 	at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:109)
  | 	at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:37)
  | 	at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1203)
  | 	at org.jbpm.db.TaskMgmtSession.findTaskInstancesByToken(TaskMgmtSession.java:133)
  | 	... 29 more
  | 

The error occurs at the line:
List taskInstances = taskMgmtSession.findTaskInstancesByToken(token.getId());

I searched in the forum and with google, but I didn't find anyone with a similar problem.

Thanks for your help.


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

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



More information about the jboss-user mailing list