Nodes with the "async" attribute set to "true" or "exclusive" are executed asynchronously, but they are still entered in the current transaction - see Node.enter(). The observed behavior is as expected. If the token remained in the success-node after an exception thrown during execution of the exception-node, it would indicate the success-node is still in progress, yet it is not. The success-node has completed successfully and the execution is stalled at the exception-node.
Alejandro, thanks for the reply. After the exception has occured we see the process state as in the image attached below
The process image does not give an idea that any exception has occurred. Also if we click on the running node and signal the process further from the console, it reaches the END state. Which means that the exception-node did not get processed again.
Typically in a production environment for our application we require the following behaviour
- On an exception, we want to process to be halted and persisted with exception details.
- After exception causing problem has been resolved, the system administrator will signal the process using the console to re-process the exception node and continue our processing from there.
How do we achieve this exception handling with jBPM?