Hide Forgot
Date of First Response: 2010-01-26 01:52:43 Help Desk Ticket Reference: https://enterprise.redhat.com/issue-tracker/379428 Workaround: Workaround Exists Workaround Description: Call JbpmContext.setRollbackOnly() in the action handler. Note: This workaround is hitting SOA-1881 at this moment. It causes rollback but shows messy Error log. project_key: SOA 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)
Attachment: Added: jobexecution.zip
Link: Added: This issue is related to SOA-1880
Link: Added: This issue related SOA-1881
Link: Added: This issue incorporates JBESB-3152
ESB issue has been rejected as we duplicate the jBPM behaviour.
Sorry, didn't mean to close this one
Changed to a feature request
added 5.0.0.ER7 as affects version
Link: Added: This issue related SOA-1889
As proposed over email, I would like that that the changes made in the ExecuteJobCommand from the jBPM enterprise module under JBPM-2691 be adapted to the JCA inflow messaging service.
As previously stated in email, we are implementing our own version and deviating from the jBPM behaviour. This deviation is to be documented.
Approved for SOA 4.3 CP03. Please make sure it gets assigned to the appropriate person.
Link: Removed: This issue incorporates JBESB-3152
Link: Added: This issue depends JBESB-3152
Updated in ESB codebase, will be in next merge.
Draft text for Resolved Issues section of Release Notes states: https://jira.jboss.org/jira/browse/JBESB-3152 If an async node was executed via the Enterprise Service Bus' JCA Inflow Message Service, the transaction was not being rolled back even if the action handler generated an exception. The transaction would be committed and then the org.jboss.soa.esb.services.jbpm.integration.job.ExecuteJobCommand.executeJob() method would try to process it again, leading to a duplicate commitment. To rectify this issue, custom changes have been made to ExecuteJobCommand so that this problem with JCA Inflow Messaging no longer occurs. Note This means that there is now a deviation between the behavior of the version of ExecuteJobCommand used by jBPM and that used by the ESB.
Verified on 4.3 CP03. The transaction is rolled back and the created process instance from the action which threw the Exception is not there anymore.