[esb-issues] [JBoss JIRA] Closed: (JBESB-3159) ExecuteJobCommand in ESB's jBPM integration doesn't roll back the transaction even if the action handler throws Exception
Kevin Conner (JIRA)
jira-events at lists.jboss.org
Thu Jan 28 11:00:19 EST 2010
[ https://jira.jboss.org/jira/browse/JBESB-3159?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kevin Conner closed JBESB-3159.
-------------------------------
Resolution: Done
Fixed in revision 31283.
We now catch all exceptions and force a rollback. When the message is redelivered we check the retry count, decrement it, and force another execution of the job.
> ExecuteJobCommand in ESB's jBPM integration doesn't roll back the transaction even if the action handler throws Exception
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: JBESB-3159
> URL: https://jira.jboss.org/jira/browse/JBESB-3159
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Process flow
> Affects Versions: 4.7
> Reporter: Toshiya Kobayashi
> Assignee: Kevin Conner
> Fix For: 4.7 CP1
>
>
> 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/JBPM_Reference_Manual/index.html#jbpmsbuiltinasynchronousmessaging
> ============
> 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
More information about the esb-issues
mailing list