[jboss-cvs] JBossAS SVN: r77054 - projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Aug 14 06:01:20 EDT 2008


Author: ALRubinger
Date: 2008-08-14 06:01:20 -0400 (Thu, 14 Aug 2008)
New Revision: 77054

Modified:
   projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java
Log:
[EJBTHREE-1462] Allow EJBException and RemoteException to continue along to the caller unwrapped by EJBTransactionRolledbackException

Modified: projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java
===================================================================
--- projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java	2008-08-14 09:36:45 UTC (rev 77053)
+++ projects/ejb3/trunk/transactions/src/main/java/org/jboss/ejb3/tx/Ejb3TxPolicy.java	2008-08-14 10:01:20 UTC (rev 77054)
@@ -21,6 +21,7 @@
  */
 package org.jboss.ejb3.tx;
 
+import java.rmi.NoSuchObjectException;
 import java.rmi.RemoteException;
 
 import javax.ejb.ApplicationException;
@@ -103,8 +104,14 @@
          {
             t = new EJBTransactionRolledbackException(formatException("Unexpected Error", t));
          }
-         else if(t instanceof RuntimeException || t instanceof RemoteException)
+         // If this is an EJBException, pass through to the caller
+         else if (t instanceof EJBException || t instanceof RemoteException)
          {
+            // Leave Exception as-is (this is in place to handle specifically, and not
+            // as a generic RuntimeException
+         }
+         else if(t instanceof RuntimeException)
+         {
             t = new EJBTransactionRolledbackException(t.getMessage(), (Exception) t);
          }
          else // application exception




More information about the jboss-cvs-commits mailing list