Author: rmannibucau
Date: Sat Oct 6 15:14:51 2012
New Revision: 1395094
URL: http://svn.apache.org/viewvc?rev=1395094&view=rev
Log:
TOMEE-445 catching NoSuchObjectException - wrapped in
UndeclaredThrowableException
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
Modified:
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java?rev=1395094&r1=1395093&r2=1395094&view=diff
==============================================================================
---
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
(original)
+++
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
Sat Oct 6 15:14:51 2012
@@ -18,7 +18,6 @@ package org.apache.openejb.cdi;
import org.apache.openejb.BeanContext;
import org.apache.openejb.BeanType;
-import org.apache.openejb.OpenEJBRuntimeException;
import org.apache.openejb.assembler.classic.ProxyInterfaceResolver;
import org.apache.webbeans.component.OwbBean;
import org.apache.webbeans.component.WebBeansType;
@@ -38,6 +37,7 @@ import java.lang.annotation.Annotation;
import java.lang.reflect.Member;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
+import java.lang.reflect.UndeclaredThrowableException;
import java.rmi.NoSuchObjectException;
import java.util.ArrayList;
import java.util.Collections;
@@ -163,7 +163,7 @@ public class CdiEjbBean<T> extends BaseE
@Override
protected void destroyComponentInstance(final T instance, final
CreationalContext<T> creational) {
- if (Dependent.class == scopeClass) {
+ if (scopeClass == null || Dependent.class == scopeClass) {
destroyStatefulSessionBeanInstance(instance, creational);
} else {
destroyScopedStateful(instance, creational);
@@ -177,14 +177,9 @@ public class CdiEjbBean<T> extends BaseE
((BeanContext.Removable) proxyInstance).$$remove();
} catch (NoSuchEJBException nsee) {
// no-op
- } catch (Exception nsoe) {
- if (nsoe instanceof NoSuchObjectException) {
- // no-op
- } else {
- if (nsoe instanceof RuntimeException) {
- throw (RuntimeException) nsoe;
- }
- throw new OpenEJBRuntimeException(nsoe);
+ } catch (UndeclaredThrowableException nsoe) {
+ if (!(nsoe.getCause() instanceof NoSuchObjectException)) {
+ throw nsoe;
}
}
}