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/01/07 03:42:16 UTC

svn commit: r732205 - in /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core: stateful/StatefulContainer.java timer/EjbTimerServiceImpl.java

Author: dblevins
Date: Tue Jan  6 18:42:16 2009
New Revision: 732205

URL: http://svn.apache.org/viewvc?rev=732205&view=rev
Log:
OPENEJB-986: Stateful Remove exception handling regression

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.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=732205&r1=732204&r2=732205&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 Tue Jan  6 18:42:16 2009
@@ -410,10 +410,16 @@
                     returnValue = interceptorStack.invoke(args);
                 }
             } catch (Throwable e) {
-                if (interfaceType.isBusiness() && deploymentInfo.getExceptionType(e) == SYSTEM) {
+                if (interfaceType.isBusiness()) {
                     retain = deploymentInfo.retainIfExeption(runMethod);
+                    handleException(callContext, txPolicy, e);
+                } else {
+                    try {
+                        handleException(callContext, txPolicy, e);
+                    } catch (ApplicationException ae){
+                        // Don't throw application exceptions for non-business interface removes
+                    }
                 }
-                handleException(callContext, txPolicy, e);
             } finally {
                 if (!retain) {
                     try {

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java?rev=732205&r1=732204&r2=732205&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java Tue Jan  6 18:42:16 2009
@@ -38,6 +38,7 @@
 import java.util.TimerTask;
 import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
 import java.lang.reflect.Method;
 
 public class EjbTimerServiceImpl implements EjbTimerService {