You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/05/10 21:59:24 UTC

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

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;
         }