-
Bug
-
Resolution: Done
-
Major
-
jBPM 3.2.2
-
None
I believe there may be a bug in the Decision class where exception handling is concerned which causes this failure:
If the line: String transitionName = decisionHandler.decide(executionContext); ...
...in the method public void execute(ExecutionContext executionContext)
throws an exception, which is caught here in the same method:
raiseException(exception, executionContext);
We miss the block:
if (transition==null)
{ transition = getDefaultLeavingTransition(); log.debug("decision didn't select transition, taking default "+transition); }So when executionContext.leaveNode(transition); is called at the bottom, there wil be no transition set.
I believe we need to check for a tranistion==null condition regardless of whether an excpetion has been handled. Otherwise you will never be able to handle an exception in a Decision without another unhandled exception being thrown (which kind of defeits the point
- is related to
-
JBPM-2818 Leaving node in super-state throws org.jbpm.JbpmException: cannot leave Node without leaving transition
-
- Resolved
-