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
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to