[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