ExecuteJobCommand in ESB's jBPM integration doesn't roll back the transaction even
if the action handler throws Exception
-------------------------------------------------------------------------------------------------------------------------
Key: JBESB-3152
URL:
https://jira.jboss.org/jira/browse/JBESB-3152
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Process flow
Affects Versions: 4.4 CP3
Reporter: Toshiya Kobayashi
In case that Job execution of an async node is processed by JCA inflow messaging service
(SOA-P integration), the transaction is not rolled back even if the action handler throws
Exception/RuntimeException. The transaction is commtted and then
org.jboss.soa.esb.services.jbpm.integration.job.ExecuteJobCommand.executeJob() kicks one
retry which would lead to duplicate commit.
It looks inconsistent with docs:
http://www.redhat.com/docs/en-US/JBoss_SOA_Platform/4.3.CP02/html-single/...
============
If execution of a command message fails, the transaction will be rolled back. After that,
a new transaction will be started that adds the error message to the message in the
database. The command executor filters out all messages that contain an exception.
============
I've attatched a reproducer.
- unzip jobexecution.zip
- modify build.properties
- ant deploypar
- ant deploy
- ant ejbclient (or access jbpm-console to start process instance)
- access jbpm-console to check process instance's id which is created by the action
handler (which should be rolled back)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira