Ok, here is the code for TestDescribeDeployer:
| package protomcf.test.deployer;
|
| import java.util.List;
|
| import org.jboss.deployers.spi.DeploymentException;
| import org.jboss.deployers.spi.deployer.DeploymentStages;
| import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
| import org.jboss.deployers.structure.spi.ClassLoaderFactory;
| import org.jboss.deployers.structure.spi.DeploymentUnit;
| import org.jboss.deployers.structure.spi.classloading.ClassLoaderMetaData;
| import org.jboss.logging.Logger;
|
| import protomcf.test.metadata.ParserMetaData;
|
| public class TestDescribeDeployer extends AbstractRealDeployer {
|
| private final Logger log = Logger.getLogger(TestDescribeDeployer.class);
|
| public TestDescribeDeployer() {
| setStage(DeploymentStages.DESCRIBE);
| setInputs(new Class<?>[] {ParserMetaData.class,
ClassLoaderMetaData.class});
| //setInput(ParserMetaData.class);
| //setInput(ClassLoaderMetaData.class);
| setOutput(ClassLoaderMetaData.class);
| //setOutput(TestMetaData.class);
| //setAllInputs(true);
| }
|
| @Override
| protected void internalDeploy(DeploymentUnit unit) throws DeploymentException {
| log.debug("TestDescribeDeployer deploy called...");
| ClassLoaderMetaData clmd = unit.getAttachment(
| ClassLoaderMetaData.class);
| if (clmd != null) {
| Utils.displayCLMetaData(clmd, log);
| }
| ClassLoaderFactory clf = unit.getAttachment(ClassLoaderFactory.class);
| if (clf != null) {
| log.debug("ClassLoaderFactory is " + clf);
| } else {
| log.debug("ClassLoaderFactory not present...");
| }
| ParserMetaData pmd = unit.getAttachment(ParserMetaData.class);
| if (pmd != null) {
| log.debug("ParserMetaData found: " + pmd);
| clmd.setDomain("TestAppDomain");
| clmd.setImportAll(false);
| Utils.displayCLMetaData(clmd, log);
| unit.addAttachment(ClassLoaderMetaData.class, clmd);
| } else {
| log.debug("ParserMetaData not present...");
| }
| }
|
| }
|
Also here follows a more readable version of the log:
| [MainDeployerImpl] Add deployment:
vfsfile:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/apptest.jar
| [MainDeployerImpl] Scheduling deployment:
vfsfile:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/apptest.jar parent=null
| [DeployersImpl] Deploying
vfsfile:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/apptest.jar
| [TestParserDeployer] TestDeployerParser parsing...
| [TestParserDeployer] TestDeployerParser returning:
ParserMetaData(a)9674968[testapp.BaseTestServlet]
| [TestDescribeDeployer] TestDescribeDeployer deploy called...
| [TestDescribeDeployer] ** ClassLoaderMetaData =
org.jboss.deployers.structure.spi.classloading.ClassLoaderMetaData@17a4a80
| [TestDescribeDeployer] ** Name =
vfsfile:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/apptest.jar
| [TestDescribeDeployer] ** Domain = <DEFAULT>
| [TestDescribeDeployer] ** Parent Domain = null
| [TestDescribeDeployer] ** isImportAll? true
| [TestDescribeDeployer] ** Export all = NON_EMPTY
| [TestDescribeDeployer] ClassLoaderFactory not present...
| [TestDescribeDeployer] ParserMetaData found:
ParserMetaData(a)9674968[testapp.BaseTestServlet]
| [TestDescribeDeployer] ** ClassLoaderMetaData =
org.jboss.deployers.structure.spi.classloading.ClassLoaderMetaData@17a4a80
| [TestDescribeDeployer] ** Name =
vfsfile:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/apptest.jar
| [TestDescribeDeployer] ** Domain = TestAppDomain
| [TestDescribeDeployer] ** Parent Domain = null
| [TestDescribeDeployer] ** isImportAll? false
| [TestDescribeDeployer] ** Export all = NON_EMPTY
| [BaseClassLoader] Created BaseClassLoader@1b152ad with policy
VFSClassLoaderPolicy@aaff99{domain=null
roots=[JarEntryHandler(a)26648165[path=apptest.jar/WEB-INF/classes
context=file:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/
real=jar:file:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/apptest.jar!/WEB-INF/classes/],
MemoryContextHandler@7525824[path=classes
context=vfsmemory://5c4o1e5d-iof0j2-fckddmwn-1-fckdgjxg-1l
real=vfsmemory://5c4o1e5d-iof0j2-fckddmwn-1-fckdgjxg-1l/classes]] delegates=[]
exported=[testapp]NON_EMPTY}
| [BaseClassLoaderDomain] ClassLoaderDomain@12462b3{<DEFAULT>} registerClassLoader
BaseClassLoader@1b152ad{VFSClassLoaderPolicy@aaff99{domain=null
roots=[JarEntryHandler(a)26648165[path=apptest.jar/WEB-INF/classes
context=file:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/
real=jar:file:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/apptest.jar!/WEB-INF/classes/],
MemoryContextHandler@7525824[path=classes
context=vfsmemory://5c4o1e5d-iof0j2-fckddmwn-1-fckdgjxg-1l
real=vfsmemory://5c4o1e5d-iof0j2-fckddmwn-1-fckdgjxg-1l/classes]] delegates=[]
exported=[testapp]NON_EMPTY}}
| [TestClassloaderDeployer] ** ClassLoaderMetaData =
org.jboss.deployers.structure.spi.classloading.ClassLoaderMetaData@17a4a80
| [TestClassloaderDeployer] ** Name =
vfsfile:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/apptest.jar
| [TestClassloaderDeployer] ** Domain = TestAppDomain
| [TestClassloaderDeployer] ** Parent Domain = null
| [TestClassloaderDeployer] ** isImportAll? false
| [TestClassloaderDeployer] ** Export all = NON_EMPTY
| [TestClassloaderDeployer] ClassLoaderFactory not present...
| [TestClassloaderDeployer] ClassLoader is BaseClassLoader@1b152ad
| [TestClassloaderDeployer] ** module =
org.jboss.deployers.plugins.classloading.Module@12f5047
| [Ejb3Deployer] ********* Ejb3Deployer Begin Unit: apptest.jar jar: apptest.jar
| [Ejb3Deployment] EJB3 deployment time took: 0
| [DeployersImpl] Fully Deployed
vfsfile:/C:/jboss5-beta3/jboss-5.0.0.Beta3/server/default/deploy/apptest.jar
|
On the log, you can see that TestDescribeDeployer did set the domain to
"TestAppDomain" and the TestClassloaderDeployer clearly pick that up.
However on the two lines where the base class loader is created (in between the describe
and CL deployer) we can clearly see that the domain is equal to default. I wonder what
would also be the status of the "import" state but I can't display it yet (I
will need to give it a go with a debugger at some point).
Thanks for your help.
Gilles.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4128700#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...