[jboss-user] [JBoss jBPM] - Error introduced in 3.2.1

rgullett do-not-reply at jboss.com
Fri Jul 13 18:12:52 EDT 2007


I have a process definition has the following scenario:
- node 1, performs an action which calls executionContext.leaveNode() when done.

- This does a default transition to a ProcessState, which has several nodes in it.  All of their action handlers perform similarly to node 1.

- Upon completion of the subprocess, The ProcessState then makes a default transition to another node whose action handler is again similar to node 1, and makes a default transition to the end-state.

In 3.2-GA, this works without any difficulties, but in 3.2.1 it throws an exception saying that the current token is locked.  Is this a bug or expected behavior?  I don't have enough understanding of the purpose of token locking to really see how to change my code to work with it.

Below is the log output.  Thanks in advance for any help!



[DEBUG] [GraphElement] - event 'before-signal' on 'StartState(start)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'node-leave' on 'StartState(start)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'transition' on 'Transition()' for 'Token(/)'
[DEBUG] [GraphElement] - event 'node-enter' on 'Node(node 1)' for 'Token(/)'
[DEBUG] [GraphElement] - executing action 'Action(a6af6e)'
[DEBUG] [Token] - token[0] is locked by token[0]
[DEBUG] [GraphElement] - event 'node-leave' on 'Node(node 1)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'transition' on 'Transition()' for 'Token(/)'
[DEBUG] [GraphElement] - event 'node-enter' on 'ProcessState(processState)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'process-start' on 'ProcessDefinition(processState)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'subprocess-created' on 'ProcessState(processState)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'before-signal' on 'StartState(start)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'node-leave' on 'StartState(start)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'transition' on 'Transition()' for 'Token(/)'
[DEBUG] [GraphElement] - event 'node-enter' on 'Node(myServiceNode)' for 'Token(/)'
[DEBUG] [GraphElement] - executing action 'Action(5db5ae)'
[DEBUG] [Token] - token[0] is locked by token[0]
[DEBUG] [processStateHandler] - Handle calling processState service
[DEBUG] [GraphElement] - event 'node-leave' on 'Node(myServiceNode)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'transition' on 'Transition()' for 'Token(/)'
[DEBUG] [GraphElement] - event 'node-enter' on 'Decision(postprocessStateDecision)' for 'Token(/)'
[DEBUG] [PostprocessStateDecisionHandler] - call processState decision handler
[DEBUG] [Decision] - decision postprocessStateDecision is taking 'Transition(end)'
[DEBUG] [GraphElement] - event 'node-leave' on 'Decision(postprocessStateDecision)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'transition' on 'Transition(end)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'node-enter' on 'EndState(end1)' for 'Token(/)'
[DEBUG] [GraphElement] - event 'process-end' on 'ProcessDefinition(processState)' for 'Token(/)'
[DEBUG] [Token] - token[0] is unlocked by token[0]
[ERROR] [GraphElement] - action threw exception: this token is locked by token[0]
org.jbpm.JbpmException: this token is locked by token[0]
	at org.jbpm.graph.exe.Token.signal(Token.java:184)
	at org.jbpm.graph.exe.Token.signal(Token.java:170)
	at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:322)
	at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:331)
	at org.jbpm.graph.exe.Token.end(Token.java:303)
	at org.jbpm.graph.exe.Token.end(Token.java:253)
	at org.jbpm.graph.node.EndState.execute(EndState.java:59)
	at org.jbpm.graph.def.Node.enter(Node.java:318)
	at org.jbpm.graph.def.Transition.take(Transition.java:151)
	at org.jbpm.graph.def.Node.leave(Node.java:393)
	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:318)
	at org.jbpm.graph.def.Transition.take(Transition.java:151)
	at org.jbpm.graph.def.Node.leave(Node.java:393)
	at org.jbpm.graph.def.Node.leave(Node.java:357)
	at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)
	at com.xxx.ExecuteAndTransitionActionHandler.execute(ExecuteAndTransitionActionHandler.java:49)
	at org.jbpm.graph.def.Action.execute(Action.java:122)
	at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:255)
	at org.jbpm.graph.def.Node.execute(Node.java:338)
	at org.jbpm.graph.def.Node.enter(Node.java:318)
	at org.jbpm.graph.def.Transition.take(Transition.java:151)
	at org.jbpm.graph.def.Node.leave(Node.java:393)
	at org.jbpm.graph.node.StartState.leave(StartState.java:70)
	at org.jbpm.graph.exe.Token.signal(Token.java:194)
	at org.jbpm.graph.exe.Token.signal(Token.java:139)
	at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:270)
	at org.jbpm.graph.node.ProcessState.execute(ProcessState.java:189)
	at org.jbpm.graph.def.Node.enter(Node.java:318)
	at org.jbpm.graph.def.Transition.take(Transition.java:151)
	at org.jbpm.graph.def.Node.leave(Node.java:393)
	at org.jbpm.graph.def.Node.leave(Node.java:357)
	at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)
	at com.xxx.ExecuteAndTransitionActionHandler.execute(ExecuteAndTransitionActionHandler.java:49)
	at org.jbpm.graph.def.Action.execute(Action.java:122)
	at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:255)
	at org.jbpm.graph.def.Node.execute(Node.java:338)
	at org.jbpm.graph.def.Node.enter(Node.java:318)
	at org.jbpm.graph.def.Transition.take(Transition.java:151)
	at org.jbpm.graph.def.Node.leave(Node.java:393)
	at org.jbpm.graph.node.StartState.leave(StartState.java:70)
	at org.jbpm.graph.exe.Token.signal(Token.java:194)
	at org.jbpm.graph.exe.Token.signal(Token.java:139)
	at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:270)
	at com.xxx.BaseWorkflowTestCase.initializeWorkflowManager(BaseWorkflowTestCase.java:73)
	at com.xxx.BaseWorkflowTestCase.setUp(BaseWorkflowTestCase.java:56)

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

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



More information about the jboss-user mailing list