[jboss-cvs] JBossAS SVN: r105946 - trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jun 10 17:59:37 EDT 2010


Author: marius.bogoevici
Date: 2010-06-10 17:59:37 -0400 (Thu, 10 Jun 2010)
New Revision: 105946

Modified:
   trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaCompJndiBinder.java
   trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java
Log:
Fix further issues regarding EJB-in-WAR: explicitly bind the BeanManager to the java:comp context of the EJB, as the WAR won't share it for now. Check if a BeanManager has been bound already to avoid duplicate binding.

Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaCompJndiBinder.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaCompJndiBinder.java	2010-06-10 21:23:31 UTC (rev 105945)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaCompJndiBinder.java	2010-06-10 21:59:37 UTC (rev 105946)
@@ -45,7 +45,19 @@
    {
       try
       {
-         getJavaCompContext().bind("BeanManager",new Reference(BeanManager.class.getName(), "org.jboss.weld.resources.ManagerObjectFactory", null));
+         Context compContext = getJavaCompContext();
+         Context beanManagerContext = null;
+         try
+         {
+            beanManagerContext = (Context) compContext.lookup("BeanManager");
+         } catch (NamingException e)
+         {
+            // ignore (this time only) - we just try to figure out whether BeanManager is registered already
+         }
+         if (beanManagerContext == null)
+         {
+            compContext.bind("BeanManager",new Reference(BeanManager.class.getName(), "org.jboss.weld.resources.ManagerObjectFactory", null));
+         }
       }
       catch (NamingException e)
       {

Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java	2010-06-10 21:23:31 UTC (rev 105945)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java	2010-06-10 21:59:37 UTC (rev 105946)
@@ -28,7 +28,6 @@
 import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
 import org.jboss.reloaded.naming.spi.JavaEEComponent;
 import org.jboss.weld.integration.deployer.DeployersUtils;
@@ -58,8 +57,7 @@
          return;
       }
 
-      if (informer.getModuleType(deploymentUnit).equals(org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer.ModuleType.EJB)
-            && !deploymentUnit.getParent().isAttachmentPresent(JBossWebMetaData.class))
+      if (informer.getModuleType(deploymentUnit).equals(org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer.ModuleType.EJB))
       {
          BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(deploymentUnit.getName() + "_CompJndiBinder", JavaEEComponentJndiBinder.class.getName());
          AbstractInjectionValueMetaData javaComponent = new AbstractInjectionValueMetaData(getComponentBeanName(deploymentUnit));



More information about the jboss-cvs-commits mailing list