[jboss-cvs] JBossAS SVN: r99986 - in branches/jaxrpc-cxf/webservices/src: resources/jbossws-jboss.deployer/META-INF and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 27 06:05:46 EST 2010
Author: alessio.soldano at jboss.com
Date: 2010-01-27 06:05:46 -0500 (Wed, 27 Jan 2010)
New Revision: 99986
Modified:
branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java
branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentAspectDeployer.java
branches/jaxrpc-cxf/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml
Log:
[JBWS-2899] Moving WSAspectizedDeployersFactory back to stack-agnostic config file and leveraging the classloader from the deployment aspects
Modified: branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java
===================================================================
--- branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java 2010-01-27 10:49:00 UTC (rev 99985)
+++ branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java 2010-01-27 11:05:46 UTC (rev 99986)
@@ -21,7 +21,6 @@
*/
package org.jboss.webservices.integration.deployers;
-import java.lang.ref.WeakReference;
import java.util.HashMap;
import java.util.Map;
@@ -47,10 +46,6 @@
/** Our deployers regitry. */
private final Map<DeploymentAspect, Deployer> deployersRegistry = new HashMap<DeploymentAspect, Deployer>();
- private boolean excludeJaxWs = false;
- private boolean includeJaxRpc = true;
- private WeakReference<ClassLoader> loader;
-
/**
* Constructor.
*
@@ -59,8 +54,6 @@
public WSAspectizedDeployersFactory(final DeployersImpl realDeployers)
{
this.delegee = realDeployers;
- //TODO!!! Use security action class
- this.loader = new WeakReference<ClassLoader>(Thread.currentThread().getContextClassLoader());
}
/**
@@ -70,18 +63,6 @@
*/
public void addDeployer(final DeploymentAspect aspect)
{
- //TODO!!! use a security action class
- ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
- ClassLoader aspectLoader = aspect.getClass().getClassLoader();
- ClassLoader thisClassClassLoader = this.getClass().getClassLoader();
- ClassLoader aspectLoader2 = aspect.getLoader();
- ClassLoader thisInstanceLoader = this.loader.get();
- if (!thisInstanceLoader.equals(aspectLoader2))
- {
-// System.out.println("*********** SKIPPING ADD aspect: " + aspect + " ctxloader: "+ctxLoader);
- return;
- }
-
WSAspectizedDeployersFactory.LOGGER.debug("Adding deployer for: " + aspect);
final Deployer wsAspectizedDeployer = new WSDeploymentAspectDeployer(aspect);
@@ -96,18 +77,6 @@
*/
public void removeDeployer(final DeploymentAspect aspect)
{
- //TODO!!! use a security action class
- ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
- ClassLoader aspectLoader = aspect.getClass().getClassLoader();
- ClassLoader thisClassClassLoader = this.getClass().getClassLoader();
- ClassLoader aspectLoader2 = aspect.getLoader();
- ClassLoader thisInstanceLoader = this.loader.get();
- if (!thisInstanceLoader.equals(aspectLoader2))
- {
-// System.out.println("*********** SKIPPING REMOVE aspect: " + aspect + " ctxloader: "+ctxLoader);
- return;
- }
-
WSAspectizedDeployersFactory.LOGGER.debug("Removing deployer for: " + aspect);
final Deployer wsAspectizedDeployer = this.deployersRegistry.get(aspect);
@@ -115,23 +84,4 @@
this.delegee.removeDeployer(wsAspectizedDeployer);
}
- public boolean isExcludeJaxWs()
- {
- return excludeJaxWs;
- }
-
- public void setExcludeJaxWs(boolean excludeJaxWs)
- {
- this.excludeJaxWs = excludeJaxWs;
- }
-
- public boolean isIncludeJaxRpc()
- {
- return includeJaxRpc;
- }
-
- public void setIncludeJaxRpc(boolean includeJaxRpc)
- {
- this.includeJaxRpc = includeJaxRpc;
- }
}
Modified: branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentAspectDeployer.java
===================================================================
--- branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentAspectDeployer.java 2010-01-27 10:49:00 UTC (rev 99985)
+++ branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentAspectDeployer.java 2010-01-27 11:05:46 UTC (rev 99986)
@@ -106,7 +106,18 @@
final Deployment dep = ASHelper.getRequiredAttachment(unit, Deployment.class);
if (this.aspect.canHandle(dep))
{
- this.aspect.start(dep);
+ //TODO!! Use security action class
+ //set the context classloader using the proper one from the deployment aspect
+ ClassLoader deployerClassLoader = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ Thread.currentThread().setContextClassLoader(this.aspect.getLoader());
+ this.aspect.start(dep);
+ }
+ finally
+ {
+ Thread.currentThread().setContextClassLoader(deployerClassLoader);
+ }
}
}
}
@@ -126,7 +137,18 @@
final Deployment dep = ASHelper.getRequiredAttachment(unit, Deployment.class);
if (this.aspect.canHandle(dep))
{
- this.aspect.stop(dep);
+ //TODO!! Use security action class
+ //set the context classloader using the proper one from the deployment aspect
+ ClassLoader deployerClassLoader = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ Thread.currentThread().setContextClassLoader(this.aspect.getLoader());
+ this.aspect.stop(dep);
+ }
+ finally
+ {
+ Thread.currentThread().setContextClassLoader(deployerClassLoader);
+ }
}
}
}
Modified: branches/jaxrpc-cxf/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml
===================================================================
--- branches/jaxrpc-cxf/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml 2010-01-27 10:49:00 UTC (rev 99985)
+++ branches/jaxrpc-cxf/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml 2010-01-27 11:05:46 UTC (rev 99986)
@@ -62,6 +62,17 @@
<bean name="WSDeploymentDeployer" class="org.jboss.webservices.integration.deployers.WSDeploymentDeployer"/>
+ <!-- WSDeploymentAspectDeployers factory -->
+ <bean name="WSAspectizedDeployersFactory" class="org.jboss.webservices.integration.deployers.WSAspectizedDeployersFactory">
+ <constructor>
+ <parameter>
+ <inject bean="Deployers"/>
+ </parameter>
+ </constructor>
+ <incallback method="addDeployer"/>
+ <uncallback method="removeDeployer"/>
+ </bean>
+
<!-- The AS specific deployment aspects -->
<bean name="WSContainerMetaDataDeploymentAspect" class="org.jboss.webservices.integration.metadata.ContainerMetaDataDeploymentAspect">
<property name="provides">ContainerMetaData, VFSRoot</property>
More information about the jboss-cvs-commits
mailing list