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