2 Replies Latest reply on Jan 5, 2008 10:06 AM by Ronald van Kuijk

    Decision node has problem with the handler class.

    cheng rain Newbie

      the jpdl:

      <task-node name="chief examine">
       <description>
       ??????
       </description>
       <task name="chief examine">
       <description>
       ????
       </description>
       <assignment class="demo.workflow.assignment.ChiefAssignment"></assignment>
       <controller>
       <variable access="read" name="reimbursementId" mapped-name="rid"></variable>
       </controller>
       </task>
       <transition to="requester fix the reimbursement form" name="need modify form"></transition>
       <transition to="decision" name="to result"></transition>
       </task-node>
      
      <decision name="decision">
       <description>
       ????
       </description>
       <handler class="demo.workflow.action.DecisionProcess"></handler>
       <transition to="handle result" name="to result"></transition>
       <transition to="boss examine" name="to boss examine"></transition>
       <transition to="financial affairs process" name="to financial affairs process"></transition>
       </decision>
      
      


      use this code to end the taskInstance:
      public static void main(String[] args) {
       JbpmConfiguration config=JbpmConfiguration.getInstance();
       JbpmContext jbpmContext=config.createJbpmContext();
      
       TaskInstance ti = jbpmContext.getTaskInstance(18);
      
       ti.end("to result"); // this will go to the Decision node,cause exception
      //ti.end("need modify form"); // if use this test, everything is ok.
       jbpmContext.close();
      
      
       }
      


      when the process go to the Decision node , cause error.

      15:56:21,764 [main] DEBUG Token : token[9] is unlocked by token[9]
      15:56:21,780 [main] ERROR GraphElement : action threw exception: id to load is required for loading
      java.lang.IllegalArgumentException: id to load is required for loading
       at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:51)
       at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:33)
       at org.hibernate.impl.SessionImpl.get(SessionImpl.java:812)
       at org.hibernate.impl.SessionImpl.get(SessionImpl.java:808)
       at demo.workflow.action.ProcessResultAction.execute(ProcessResultAction.java:24)
       at org.jbpm.graph.def.Action.execute(Action.java:122)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:220)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:190)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:174)
       at org.jbpm.graph.def.Node.enter(Node.java:303)
       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.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
       at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$42da374e.enter(<generated>)
       at org.jbpm.graph.def.Transition.take(Transition.java:151)
       at org.jbpm.graph.def.Node.leave(Node.java:394)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:136)
       at org.jbpm.graph.node.Decision.execute(Decision.java:152)
       at org.jbpm.graph.def.Node.enter(Node.java:319)
       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.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
       at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$42da374e.enter(<generated>)
       at org.jbpm.graph.def.Transition.take(Transition.java:151)
       at org.jbpm.graph.def.Node.leave(Node.java:394)
       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.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
       at org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$7edde70c.leave(<generated>)
       at org.jbpm.graph.exe.Token.signal(Token.java:195)
       at org.jbpm.graph.exe.Token.signal(Token.java:166)
       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.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
       at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$7233a4ca.signal(<generated>)
       at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:488)
       at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:427)
       at com.hundsun.bpm.console.Test.main(Test.java:20)
      Exception in thread "main" org.jbpm.graph.def.DelegationException: id to load is required for loading
       at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:387)
       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.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
       at org.jbpm.graph.def.ProcessDefinition$$EnhancerByCGLIB$$fe0fb99e.raiseException(<generated>)
       at org.jbpm.graph.def.GraphElement.raiseException(GraphElement.java:378)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:281)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:220)
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:190)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:174)
       at org.jbpm.graph.def.Node.enter(Node.java:303)
       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.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
       at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$42da374e.enter(<generated>)
       at org.jbpm.graph.def.Transition.take(Transition.java:151)
       at org.jbpm.graph.def.Node.leave(Node.java:394)
       at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:136)
       at org.jbpm.graph.node.Decision.execute(Decision.java:152)
       at org.jbpm.graph.def.Node.enter(Node.java:319)
       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.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
       at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$42da374e.enter(<generated>)
       at org.jbpm.graph.def.Transition.take(Transition.java:151)
       at org.jbpm.graph.def.Node.leave(Node.java:394)
       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.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
       at org.jbpm.graph.node.TaskNode$$EnhancerByCGLIB$$7edde70c.leave(<generated>)
       at org.jbpm.graph.exe.Token.signal(Token.java:195)
       at org.jbpm.graph.exe.Token.signal(Token.java:166)
       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.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
       at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$7233a4ca.signal(<generated>)
       at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:488)
       at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:427)
       at com.hundsun.bpm.console.Test.main(Test.java:20)
      Caused by: java.lang.IllegalArgumentException: id to load is required for loading
       at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:51)
       at org.hibernate.event.LoadEvent.<init>(LoadEvent.java:33)
       at org.hibernate.impl.SessionImpl.get(SessionImpl.java:812)
       at org.hibernate.impl.SessionImpl.get(SessionImpl.java:808)
       at demo.workflow.action.ProcessResultAction.execute(ProcessResultAction.java:24)
       at org.jbpm.graph.def.Action.execute(Action.java:122)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
       ... 41 more
      


      how to solve this problem: id to load is required for loading.

      any suggestion! thanks.