[jboss-cvs] jboss-cvs-commits Digest, Vol 48, Issue 207

Ales Justin ales.justin at gmail.com
Mon Jun 21 13:20:21 EDT 2010


The Abstract bean metadata should all be hidden behind BeanMetaDataBuilder.
No need to expose metadata impl details.
If something is missing, should be added to BMDBuilder.

> Author: marius.bogoevici
> Date: 2010-06-19 03:38:40 -0400 (Sat, 19 Jun 2010)
> New Revision: 106187
> 
> Modified:
>   trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java
>   trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java
> Log:
> JBAS-8107 partial: Singleton beans are guaranteed to after before Weld is started and BeanManager is registered in JNDI
> 
> Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java
> ===================================================================
> --- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java	2010-06-19 00:20:57 UTC (rev 106186)
> +++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java	2010-06-19 07:38:40 UTC (rev 106187)
> @@ -84,7 +84,7 @@
>       install.addParameterMetaData(Object.class.getName(), bootstrapName);
>       install.addParameterMetaData(Iterable.class.getName(), bootstrap.createInject(ejbServicesValue.getUnderlyingValue(), "ejbContainerNames"));
>       install.addParameterMetaData(String.class.getName(), "Start");
> -      install.addParameterMetaData(String.class.getName(), "Start");
> +      install.addParameterMetaData(String.class.getName(), "Create");
> 
>       unit.addAttachment(DeployersUtils.getBootstrapBeanAttachmentName(unit), bootstrap.getBeanMetaData());
> 
> 
> 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-19 00:20:57 UTC (rev 106186)
> +++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/jndi/JavaEEComponentJndiBinderDeployer.java	2010-06-19 07:38:40 UTC (rev 106187)
> @@ -21,13 +21,20 @@
>  */
> package org.jboss.weld.integration.deployer.jndi;
> 
> +import java.util.HashSet;
> +import java.util.Set;
> +
> +import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
> +import org.jboss.beans.metadata.plugins.AbstractDependencyMetaData;
> import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
> import org.jboss.beans.metadata.spi.BeanMetaData;
> +import org.jboss.beans.metadata.spi.DependencyMetaData;
> import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
> import org.jboss.deployers.spi.DeploymentException;
> 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.ejb.jboss.JBossSessionBean31MetaData;
> import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
> import org.jboss.reloaded.naming.spi.JavaEEComponent;
> import org.jboss.weld.integration.deployer.DeployersUtils;
> @@ -59,7 +66,26 @@
> 
>       if (informer.getModuleType(deploymentUnit).equals(org.jboss.reloaded.naming.deployers.javaee.JavaEEModuleInformer.ModuleType.EJB))
>       {
> -         BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(deploymentUnit.getName() + "_CompJndiBinder", JavaEEComponentJndiBinder.class.getName());
> +         if (jBossEnterpriseBeanMetaData instanceof JBossSessionBean31MetaData &&
> +               ((JBossSessionBean31MetaData)jBossEnterpriseBeanMetaData).isSingleton())
> +         {
> +            String containerName = jBossEnterpriseBeanMetaData.getContainerName() == null ?
> +                  jBossEnterpriseBeanMetaData.getGeneratedContainerName() :
> +                  jBossEnterpriseBeanMetaData.getContainerName();
> +
> +            AbstractBeanMetaData beanMetaData = (AbstractBeanMetaData) deploymentUnit.getParent().getAttachment(BeanMetaData.class + ":" + containerName, BeanMetaData.class);
> +            Set<DependencyMetaData> dependencyMetaDatas = beanMetaData.getDepends();
> +            if (null == dependencyMetaDatas)
> +            {
> +               dependencyMetaDatas = new HashSet<DependencyMetaData>();
> +               beanMetaData.setDepends(dependencyMetaDatas);
> +            }
> +
> +            dependencyMetaDatas.add(new AbstractDependencyMetaData(getJndiBinderName(deploymentUnit)));
> +            dependencyMetaDatas.add(new AbstractDependencyMetaData(DeployersUtils.getBootstrapBeanName(deploymentUnit)));
> +         }
> +        
> +         BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder(getJndiBinderName(deploymentUnit), JavaEEComponentJndiBinder.class.getName());         
>          AbstractInjectionValueMetaData javaComponent = new AbstractInjectionValueMetaData(getComponentBeanName(deploymentUnit));
>          builder.addConstructorParameter(JavaEEComponent.class.getName(), javaComponent);
>          builder.addConstructorParameter(String.class.getName(), deploymentUnit.getName());
> @@ -68,6 +94,11 @@
>       }
>    }
> 
> +   private String getJndiBinderName(DeploymentUnit deploymentUnit)
> +   {
> +      return deploymentUnit.getName() + "_CompJndiBinder";
> +   }
> +
>    private BeanMetaData getBootstrapBeanAttachment(DeploymentUnit deploymentUnit)
>    {
>       String bootstrapName = DeployersUtils.getBootstrapBeanName(deploymentUnit.getTopLevel());
> 




More information about the jboss-cvs-commits mailing list