[jboss-cvs] JBossAS SVN: r109332 - trunk/ejb3/src/main/java/org/jboss/ejb3/deployers.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Nov 15 03:01:22 EST 2010


Author: jaikiran
Date: 2010-11-15 03:01:22 -0500 (Mon, 15 Nov 2010)
New Revision: 109332

Modified:
   trunk/ejb3/src/main/java/org/jboss/ejb3/deployers/JBossASKernel.java
Log:
JBAS-8313 Inject BeanInstantiator into EJBContainer

Modified: trunk/ejb3/src/main/java/org/jboss/ejb3/deployers/JBossASKernel.java
===================================================================
--- trunk/ejb3/src/main/java/org/jboss/ejb3/deployers/JBossASKernel.java	2010-11-15 06:46:19 UTC (rev 109331)
+++ trunk/ejb3/src/main/java/org/jboss/ejb3/deployers/JBossASKernel.java	2010-11-15 08:01:22 UTC (rev 109332)
@@ -21,6 +21,17 @@
  */
 package org.jboss.ejb3.deployers;
 
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.management.MBeanInfo;
+import javax.management.MBeanOperationInfo;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
 import org.jboss.as.ejb3.naming.NamingComponentEjbEncFactory;
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
@@ -37,6 +48,7 @@
 import org.jboss.ejb3.EJBContainer;
 import org.jboss.ejb3.KernelAbstraction;
 import org.jboss.ejb3.MCDependencyPolicy;
+import org.jboss.ejb3.instantiator.spi.BeanInstantiatorRegistration;
 import org.jboss.ejb3.javaee.JavaEEApplication;
 import org.jboss.ejb3.javaee.JavaEEModule;
 import org.jboss.kernel.Kernel;
@@ -46,16 +58,6 @@
 import org.jboss.logging.Logger;
 import org.jboss.reloaded.naming.spi.JavaEEComponent;
 
-import javax.management.MBeanInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-
 /**
  * The JBossAS implementation of the ejb3 KernelAbstraction integration api
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
@@ -156,11 +158,20 @@
             deployment.getBeanFactories().add(builder.getBeanMetaDataFactory());
          }
          // modify the container bean meta data to inject the EjbEncFactory
+         BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(bean);
+         //builder.addPropertyMetaData("namingComponent", new AbstractInjectionValueMetaData("java:comp"));
+         builder.addPropertyMetaData("ejbEncFactory", new AbstractInjectionValueMetaData(encFactoryBeanName));
+         
+         // Add the BeanInstantiator injection into EJBContainer
+         // TODO: (Jaikiran) Terrible hack! Use JavaEEComponentInformer to get the app name.
+         // But for now, due to lack of time for 6.0.0.CR1 release, let's just use this hack
+         if (appName == null)
          {
-            BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(bean);
-            //builder.addPropertyMetaData("namingComponent", new AbstractInjectionValueMetaData("java:comp"));
-            builder.addPropertyMetaData("ejbEncFactory", new AbstractInjectionValueMetaData(encFactoryBeanName));
+            appName = moduleName;
          }
+         String beanInstantiatorMcName = BeanInstantiatorRegistration.getInstantiatorRegistrationName(appName, moduleName, container.getEjbName());
+         builder.addPropertyMetaData("beanInstantiator", new AbstractInjectionValueMetaData(beanInstantiatorMcName));
+
       }
 
       if(unit != null)



More information about the jboss-cvs-commits mailing list