Author: rmannibucau
Date: Sat May 10 19:59:24 2014
New Revision: 1593723

URL: http://svn.apache.org/r1593723
Log:
skipping CdiResourceInjection for local bean classes + better test for mdbs

Modified:
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
    
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiResourceInjectionService.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1593723&r1=1593722&r2=1593723&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Sat May 10 19:59:24 2014
@@ -149,7 +149,6 @@ import javax.enterprise.context.Dependen
 import javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.BeanManager;
-import javax.jms.MessageListener;
 import javax.management.InstanceNotFoundException;
 import javax.management.MBeanRegistrationException;
 import javax.management.MBeanServer;
@@ -1067,7 +1066,7 @@ public class Assembler extends Assembler
                 }
 
                 // if local bean or mdb generate proxy class now to avoid 
bottleneck on classloader later
-                if (beanContext.isLocalbean() || 
beanContext.getBusinessLocalInterfaces().contains(MessageListener.class)) {
+                if (beanContext.isLocalbean() || 
beanContext.getComponentType().isMessageDriven()) {
                     final List<Class> interfaces = new ArrayList<Class>(3);
                     interfaces.add(Serializable.class);
                     interfaces.add(IntraVmProxy.class);

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java?rev=1593723&r1=1593722&r2=1593723&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiPlugin.java
 Sat May 10 19:59:24 2014
@@ -120,6 +120,10 @@ public class CdiPlugin extends AbstractO
         beans = new WeakHashMap<Class<?>, BeanContext>();
         for (final BeanContext deployment : ejbDeployments) {
             if (deployment.getComponentType().isSession()) {
+                if (deployment.isLocalbean())
+                {
+                    
beans.put(deployment.get(BeanContext.ProxyClass.class).getProxy(), deployment);
+                }
                 beans.put(deployment.getBeanClass(), deployment);
             }
         }

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiResourceInjectionService.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiResourceInjectionService.java?rev=1593723&r1=1593722&r2=1593723&view=diff
==============================================================================
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiResourceInjectionService.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiResourceInjectionService.java
 Sat May 10 19:59:24 2014
@@ -82,7 +82,12 @@ public class CdiResourceInjectionService
 
     @Override
     public void injectJavaEEResources(final Object managedBeanInstance) {
-        if (managedBeanInstance != null && 
ejbPlugin.isSessionBean(managedBeanInstance.getClass())) { // already done
+        if (managedBeanInstance == null) {
+            return;
+        }
+
+        final Class<?> managedBeanInstanceClass = 
managedBeanInstance.getClass();
+        if (ejbPlugin.isSessionBean(managedBeanInstanceClass)) { // already 
done
             return;
         }
 


Reply via email to