You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2009/08/27 05:14:36 UTC

svn commit: r808269 - /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java

Author: dblevins
Date: Thu Aug 27 03:14:36 2009
New Revision: 808269

URL: http://svn.apache.org/viewvc?rev=808269&view=rev
Log:
Fixed code to throw the correct exception on a call to remove() when the object has already been removed.

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java?rev=808269&r1=808268&r2=808269&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java Thu Aug 27 03:14:36 2009
@@ -33,6 +33,7 @@
 import javax.ejb.SessionBean;
 import javax.ejb.SessionContext;
 import javax.ejb.SessionSynchronization;
+import javax.ejb.NoSuchEJBException;
 import javax.naming.Context;
 import javax.naming.NamingException;
 import javax.persistence.EntityManager;
@@ -383,7 +384,6 @@
             try {
                 // Obtain instance
                 instance = obtainInstance(primKey, callContext);
-                if (instance == null) throw new ApplicationException(new javax.ejb.NoSuchEJBException());
 
                 // Resume previous Bean transaction if there was one
                 if (txPolicy instanceof BeanTransactionPolicy){
@@ -425,6 +425,8 @@
                 } else {
                     returnValue = interceptorStack.invoke(args);
                 }
+            } catch (InvalidateReferenceException e) {
+                throw e;
             } catch (Throwable e) {
                 if (interfaceType.isBusiness()) {
                     retain = deploymentInfo.retainIfExeption(runMethod);