[jboss-cvs] JBossAS SVN: r70861 - projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 14 03:57:53 EDT 2008


Author: wolfc
Date: 2008-03-14 03:57:53 -0400 (Fri, 14 Mar 2008)
New Revision: 70861

Modified:
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java
Log:
EJBTHREE-1221: throwing correct exceptions from ejb 2.1 methods

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java	2008-03-14 04:29:41 UTC (rev 70860)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/StatefulContainer.java	2008-03-14 07:57:53 UTC (rev 70861)
@@ -25,6 +25,7 @@
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
+import java.rmi.NoSuchObjectException;
 import java.util.ArrayList;
 import java.util.Hashtable;
 import java.util.List;
@@ -34,6 +35,8 @@
 import javax.ejb.EJBObject;
 import javax.ejb.Handle;
 import javax.ejb.Init;
+import javax.ejb.NoSuchEJBException;
+import javax.ejb.NoSuchObjectLocalException;
 import javax.ejb.PostActivate;
 import javax.ejb.PrePassivate;
 import javax.ejb.Remote;
@@ -633,7 +636,14 @@
       Method unadvisedMethod = info.getUnadvisedMethod();
       if (unadvisedMethod.getName().equals("remove"))
       {
-         destroySession(id);
+         try
+         {
+            destroySession(id);
+         }
+         catch(NoSuchEJBException e)
+         {
+            throw new NoSuchObjectLocalException(e.getMessage(), e);
+         }
 
          return null;
       }
@@ -844,7 +854,16 @@
       }
       else if (unadvisedMethod.getName().equals("remove"))
       {
-         destroySession(statefulInvocation.getId());
+         try
+         {
+            destroySession(statefulInvocation.getId());
+         }
+         catch(NoSuchEJBException e)
+         {
+            if(log.isTraceEnabled())
+               log.trace("Throwing NoSuchObjectException", e);
+            throw new NoSuchObjectException(e.getMessage());
+         }
 
          InvocationResponse response = new InvocationResponse(null);
          return response;




More information about the jboss-cvs-commits mailing list