[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