problem when traversing to end state
twiceknightly Jan 21, 2008 5:37 AMHi,
First of all I'd just like to say that the jbpm code looks of very high quality and it's a great framework. Hopefully if I get to the point where I understand it sufficiently I may be able to contribute some bug fixes.
I have a UI that allows shows me task list, allows me to create new tasks and update variables at each stage. I'm using container managed persistence as set up in accordance with
http://wiki.jboss.org/wiki/Wiki.jsp?page=Jbpm32UsingCMT
I'm having problems when calling taskInstance.end() on a task which leads to an end state. The persistance seems to be working because new rows in the database are appearing for new task instances etc. However when I take a transition from a penultimate state to an end state I get the stack trace below.
javax.faces.FacesException: Error calling action method of component with id taskform:transitionButton at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74) at javax.faces.component.UICommand.broadcast(UICommand.java:106) at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164) at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:271) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:94) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3214) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) Caused by: javax.faces.el.EvaluationException: Exception while invoking expression #{taskBean.saveAndClose} at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:153) at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63) ... 18 more Caused by: java.lang.ClassCastException: cannot assign instance of org.hibernate.exception.NestableDelegate to field org.hibernate.exception.NestableRuntimeException.delegate of type org.hibernate.exception.NestableDelegate in instance of org.hibernate.SessionException at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(Ljava.lang.Object;[Ljava.lang.Object;)V(Unknown Source) at java.io.ObjectStreamClass.setObjFieldValues(Ljava.lang.Object;[Ljava.lang.Object;)V(Unknown Source) at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.io.ObjectStreamClass;)V(Unknown Source) at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.ObjectStreamClass;)V(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Unknown Source) at java.io.ObjectInputStream.readObject0(Z)Ljava.lang.Object;(Unknown Source) at java.io.ObjectInputStream.defaultReadFields(Ljava.lang.Object;Ljava.io.ObjectStreamClass;)V(Unknown Source) at java.io.ObjectInputStream.readSerialData(Ljava.lang.Object;Ljava.io.ObjectStreamClass;)V(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Z)Ljava.lang.Object;(Unknown Source) at java.io.ObjectInputStream.readObject0(Z)Ljava.lang.Object;(Unknown Source) at java.io.ObjectInputStream.readObject()Ljava.lang.Object;(Unknown Source) at weblogic.rmi.extensions.server.CBVInputStream.readObjectInternal(CBVInputStream.java:71) at weblogic.rmi.extensions.server.CBVInputStream.readObject(CBVInputStream.java:65) at weblogic.rmi.internal.ServerRequest.unmarshalThrowable(ServerRequest.java:352) at weblogic.rmi.internal.ServerRequest.getThrowable(ServerRequest.java:62) at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:203) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:335) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252) at com.nr.tms.workflow.interaction.ejb.TMSWorkflowService_7jxszs_EOImpl_920_WLStub.saveAndCloseTask(JLjava.lang.String;Ljava.util.List;)V(Unknown Source) at org.jbpm.webapp.bean.TaskBean.saveAndClose(TaskBean.java:100) at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source) at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:129) at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63) at javax.faces.component.UICommand.broadcast(UICommand.java:106) at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:90) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:164) at org.apache.myfaces.lifecycle.LifecycleImpl.invokeApplication(LifecycleImpl.java:271) at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:86)