[jboss-cvs] JBossAS SVN: r110527 - in trunk/weld-int: deployer/src/main/java/org/jboss/weld/integration/deployer/env and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Feb 4 05:56:45 EST 2011
Author: alesj
Date: 2011-02-04 05:56:45 -0500 (Fri, 04 Feb 2011)
New Revision: 110527
Modified:
trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
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/provider/JBossSingletonProvider.java
Log:
Simple refactoring.
Modified: trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml
===================================================================
--- trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml 2011-02-04 00:59:12 UTC (rev 110526)
+++ trunk/weld-int/assembly/src/main/assembly/resources/META-INF/weld-deployers-jboss-beans.xml 2011-02-04 10:56:45 UTC (rev 110527)
@@ -57,13 +57,13 @@
</constructor>
</bean>
+ <bean name="JBossSingletonProvider" class="org.jboss.weld.integration.provider.JBossSingletonProvider"/>
+
<!-- Responsible for booting Weld -->
<bean name="WeldBootstrapDeployer" class="org.jboss.weld.integration.deployer.env.WeldBootstrapDeployer">
<property name="singletonProvider"><inject bean="JBossSingletonProvider"/></property>
</bean>
- <bean name="JBossSingletonProvider" class="org.jboss.weld.integration.provider.JBossSingletonProvider"/>
-
<!-- Responsible for pushing the JSF faces-config.xml onto the application classpath -->
<bean name="WeldFacesIntegrationDeployer" class="org.jboss.weld.integration.deployer.cl.WeldFacesIntegrationDeployer"/>
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 2011-02-04 00:59:12 UTC (rev 110526)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/deployer/env/WeldBootstrapDeployer.java 2011-02-04 10:56:45 UTC (rev 110527)
@@ -21,8 +21,6 @@
*/
package org.jboss.weld.integration.deployer.env;
-import org.jboss.beans.metadata.api.annotations.Start;
-import org.jboss.beans.metadata.api.annotations.Stop;
import org.jboss.beans.metadata.spi.BeanMetaData;
import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
@@ -35,7 +33,6 @@
import org.jboss.weld.integration.deployer.DeployersUtils;
import org.jboss.weld.integration.deployer.env.bda.DUTopLevelClassLoaderGetter;
import org.jboss.weld.integration.deployer.env.bda.DeploymentImpl;
-
import org.jboss.weld.integration.provider.JBossSingletonProvider;
@@ -59,22 +56,17 @@
/**
* Setter for allowing the injection of a different type of SingletonProvider
*
- * @param singletonProvider
+ * @param singletonProvider the singleton provider
*/
public void setSingletonProvider(SingletonProvider singletonProvider)
{
- if (singletonProvider == null)
- {
- throw new IllegalArgumentException("Cannot set a null SingletonProvider");
- }
this.singletonProvider = singletonProvider;
}
/**
* Configures the SingletonProvider to be used by the application server
*/
- @Start
- public void install()
+ public void start()
{
if (singletonProvider != null)
{
@@ -93,8 +85,7 @@
* Removes the SingletonProvider - we assume that no application is running anymore
* in this application server when the deployer is uninstalled (shutdown)
*/
- @Stop
- public void uninstall()
+ public void stop()
{
SingletonProvider.reset();
}
Modified: trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/provider/JBossSingletonProvider.java
===================================================================
--- trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/provider/JBossSingletonProvider.java 2011-02-04 00:59:12 UTC (rev 110526)
+++ trunk/weld-int/deployer/src/main/java/org/jboss/weld/integration/provider/JBossSingletonProvider.java 2011-02-04 10:56:45 UTC (rev 110527)
@@ -1,55 +1,47 @@
package org.jboss.weld.integration.provider;
-import org.jboss.beans.metadata.api.annotations.Start;
-import org.jboss.classloader.spi.base.BaseClassLoader;
-import org.jboss.weld.bootstrap.api.Singleton;
-import org.jboss.weld.bootstrap.api.SingletonProvider;
-import org.jboss.weld.integration.deployer.env.bda.DUTopLevelClassLoaderGetter;
-import org.jboss.weld.integration.deployer.env.bda.TopLevelClassLoaderGetter;
-
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
+import org.jboss.weld.bootstrap.api.Singleton;
+import org.jboss.weld.bootstrap.api.SingletonProvider;
+import org.jboss.weld.integration.deployer.env.bda.DUTopLevelClassLoaderGetter;
+import org.jboss.weld.integration.deployer.env.bda.TopLevelClassLoaderGetter;
+
/**
+ * JBoss custom singleton provider.
+ * It looks for top level classloader to isolate Weld components.
+ *
* @author Marius Bogoevici
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
*/
public class JBossSingletonProvider extends SingletonProvider
{
-
private TopLevelClassLoaderGetter topLevelClassLoaderGetter;
- public JBossSingletonProvider()
- {
-
- }
-
public void setTopLevelClassLoaderGetter(TopLevelClassLoaderGetter topLevelClassLoaderGetter)
{
this.topLevelClassLoaderGetter = topLevelClassLoaderGetter;
}
- @Start
- public void install()
+ public void start()
{
if (topLevelClassLoaderGetter == null)
- {
topLevelClassLoaderGetter = DUTopLevelClassLoaderGetter.getInstance();
- }
}
@Override
public <T> Singleton<T> create(Class<? extends T> expectedType)
{
- return new EarSingleton<T>();
+ return new TopLevelSingleton<T>();
}
- public class EarSingleton<T> implements Singleton<T>
+ private class TopLevelSingleton<T> implements Singleton<T>
{
private final ConcurrentMap<ClassLoader, T> store = new ConcurrentHashMap<ClassLoader, T>();
-
public T get()
{
ClassLoader currentClassLoader = getTopLevelClassLoader();
@@ -100,5 +92,4 @@
return Thread.currentThread().getContextClassLoader();
}
}
-
}
More information about the jboss-cvs-commits
mailing list