[jboss-svn-commits] JBL Code SVN: r31943 - labs/jbossesb/branches/JBESB_4_4_GA_CP/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/command.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Mar 4 13:40:22 EST 2010


Author: kevin.conner at jboss.com
Date: 2010-03-04 13:40:22 -0500 (Thu, 04 Mar 2010)
New Revision: 31943

Modified:
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/command/AbstractMessageListener.java
Log:
Check for expected exception when rollback requested: JBESB-3151

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/command/AbstractMessageListener.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/command/AbstractMessageListener.java	2010-03-04 18:38:13 UTC (rev 31942)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/services/jbpm/src/main/java/org/jboss/soa/esb/services/jbpm/integration/command/AbstractMessageListener.java	2010-03-04 18:40:22 UTC (rev 31943)
@@ -22,6 +22,7 @@
 import org.jbpm.persistence.JbpmPersistenceException;
 import org.jbpm.persistence.db.DbPersistenceService;
 import org.jbpm.svc.Services;
+import org.jbpm.tx.TxService;
 
 /**
  * Based on the jBPM enterprise code, this abstract base class handles most of the
@@ -77,7 +78,23 @@
             }
             finally
             {
-                jbpmContext.close() ;
+                final TxService txService = jbpmContext.getServices().getTxService() ;
+                final boolean exceptionExpected = txService.isRollbackOnly() ;
+                try
+                {
+                    jbpmContext.close() ;
+                }
+                catch (final JbpmException je)
+                {
+                    if (exceptionExpected)
+                    {
+                        rollback(je) ;
+                    }
+                    else
+                    {
+                        throw je ;
+                    }
+                }
             }
         }
         catch (final StaleStateException sse)



More information about the jboss-svn-commits mailing list