Affects: Release Notes Help Desk Ticket Reference: https://enterprise.redhat.com/issue-tracker/603493 project_key: SOA incorporate fix of [JBPM-2854] If exception handlers are defined in multiple nodes, only the first one is triggered during one execution
Link: Added: This issue Cloned from SOA-2051
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: An error occurs when defining nodes in JBPM. If exception handlers are defined across multiple nodes, then only the first one is triggered during one execution.
Looks like this is fixed; can we verify it on 5.3.0.ER4?
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1 +1 @@ -An error occurs when defining nodes in JBPM. If exception handlers are defined across multiple nodes, then only the first one is triggered during one execution.+An error occurred when defining nodes in JBPM. If exception handlers were defined across multiple nodes, then only the first one was triggered during one execution.
Verified on 5.3 ER5. As can be seen on the output bellow - both handlers are called during one single execution. 21:59:30,405 DEBUG [Token] 'ESB_ASYNC_SIGNAL_ACTION' unlocked Token(1) 21:59:30,415 DEBUG [GraphElement] Token(1) fires event 'before-signal' on StartState(start-state1) 21:59:30,417 DEBUG [GraphElement] Token(1) fires event 'node-leave' on StartState(start-state1) 21:59:30,418 DEBUG [GraphElement] Token(1) fires event 'transition' on Transition(StartState(start-state1)->Node(node1) 21:59:30,420 DEBUG [GraphElement] Token(1) fires event 'node-enter' on Node(node1) 21:59:30,423 DEBUG [Token] 'Script(System.out.println("node1 called.");)' locked Token(1) 21:59:30,427 DEBUG [Script] script input: {node=Node(node1), theBody=*** RUN ***, token=Token(1), task=null, executionContext=ExecutionContext(null), taskInstance=null} 21:59:30,436 INFO [STDOUT] node1 called. 21:59:30,436 DEBUG [Token] 'Script(System.out.println("node1 called.");)' unlocked Token(1) 21:59:30,438 DEBUG [Token] 'Action(Delegation(org.jboss.soa.esb.test.ExceptionActionHandler))' locked Token(1) 21:59:30,439 INFO [STDOUT] Simulating Exception 21:59:30,439 DEBUG [Token] 'Action(Delegation(org.jboss.soa.esb.test.ExceptionActionHandler))' unlocked Token(1) 21:59:30,443 DEBUG [Token] 'Script(System.out.println("node1 Exception Handler OK.");)' locked Token(1) 21:59:30,444 DEBUG [Script] script input: {node=Node(node1), theBody=*** RUN ***, token=Token(1), task=null, executionContext=ExecutionContext(null), taskInstance=null} 21:59:30,448 INFO [STDOUT] node1 Exception Handler OK. 21:59:30,448 DEBUG [Token] 'Script(System.out.println("node1 Exception Handler OK.");)' unlocked Token(1) 21:59:30,449 DEBUG [GraphElement] Token(1) fires event 'node-leave' on Node(node1) 21:59:30,450 DEBUG [GraphElement] Token(1) fires event 'transition' on Transition(Node(node1)->Node(node2) 21:59:30,451 DEBUG [GraphElement] Token(1) fires event 'node-enter' on Node(node2) 21:59:30,454 DEBUG [Token] 'Script(System.out.println("node2 called.");)' locked Token(1) 21:59:30,454 DEBUG [Script] script input: {node=Node(node2), theBody=*** RUN ***, token=Token(1), task=null, executionContext=ExecutionContext(null), taskInstance=null} 21:59:30,458 INFO [STDOUT] node2 called. 21:59:30,458 DEBUG [Token] 'Script(System.out.println("node2 called.");)' unlocked Token(1) 21:59:30,459 DEBUG [Token] 'Action(Delegation(org.jboss.soa.esb.test.ExceptionActionHandler))' locked Token(1) 21:59:30,459 INFO [STDOUT] Simulating Exception 21:59:30,459 DEBUG [Token] 'Action(Delegation(org.jboss.soa.esb.test.ExceptionActionHandler))' unlocked Token(1) 21:59:30,461 DEBUG [Token] 'Script(System.out.println("node2 Exception Handler OK.");)' locked Token(1) 21:59:30,462 DEBUG [Script] script input: {node=Node(node2), theBody=*** RUN ***, token=Token(1), task=null, executionContext=ExecutionContext(null), taskInstance=null} 21:59:30,465 INFO [STDOUT] node2 Exception Handler OK. 21:59:30,465 DEBUG [Token] 'Script(System.out.println("node2 Exception Handler OK.");)' unlocked Token(1) 21:59:30,466 DEBUG [GraphElement] Token(1) fires event 'node-leave' on Node(node2) 21:59:30,467 DEBUG [GraphElement] Token(1) fires event 'transition' on Transition(Node(node2)->EndState(end-state1) 21:59:30,467 DEBUG [GraphElement] Token(1) fires event 'node-enter' on EndState(end-state1) 21:59:30,469 DEBUG [GraphElement] Token(1) fires event 'process-end' on ProcessDefinition(jbpm2818)