[Design the new POJO MicroContainer] - Re: ClassLoader for a subdeployment
by adrian@jboss.org
One usecase that came up is to able to explicitly create a top level
classloader for a subdeployment rather than an isolated classloader
hanging off the main deployment classloader.
This could for example be signaled by the user explicitly specifying the
classloader domain.
We currently ignore the user specified domain when it is a subdeployment,
since we have to construct a synthetic domain with the main
deployment's classloader as parent.
In this case, instead of constructing a synthetic domain
we would just respect the user's decision and make
the subdeployment classloader a top level classloader.
e.g.
top-level.jar/sub-deployment.jar/META-INF/jboss-classloading.xml
| <classloading domain="MyDomain" xmlns="urn:jboss:classloading:1.0"
| import-all="true" export-all="ALL">
| </classloading>
|
This will currently create a classloader for top-level.jar
(minus the classes in sub-deployment.jar) in the default domain
then construct a synthetic "top-level.jar/sub-deployment.jar" domain.
DefaultDomain <- top-level.jar <- synthetic domain <- sub-deployment.jar
With the proposed change (explicit domain) it would instead look like this:
DefaultDomain <- top-level.jar
MyDomain <- sub-deployment.jar (now a top level classloader)
NOTE: Ironically this would actually take us back to allowing something
simiar to early jboss-3.0.x classloading rules where every subdeployment
had its own classloader ;-)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4153316#4153316
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4153316
17 years, 10 months
[Design the new POJO MicroContainer] - Re: Multiple parsing implementation in RARDeployer
by vickyk
I tried to map the real rar.xml with has the declaration as
<?xml version="1.0" encoding="UTF-8"?>
|
| <!-- $Id: ra.xml 71789 2008-04-08 13:46:40Z adrian(a)jboss.org $ -->
|
| <connector xmlns="http://java.sun.com/xml/ns/j2ee"
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
| xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
| http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
| version="1.5">
|
| <description>JBoss LocalTransaction JDBC Wrapper Resource Adapter</description>
|
| </connector>
I mapped this to this dummy MetaData
@JBossXmlSchema(namespace="j2ee", elementFormDefault=XmlNsForm.QUALIFIED)
| @XmlRootElement(name="connector")
| public class RealRarMetaData implements Serializable
| {
| public static final long serialUIDVersion = 1l;
|
| private String description;
|
|
| public String getDescription()
| {
| return description;
| }
|
| @XmlElement(name = "description")
| public void setDescription(String description)
| {
| this.description = description;
| }
| }
However when I tried to map the data from the ra.xml to the MetaData Object the DeployerParser complained as this
14940 ERROR [AbstractController] Error installing to Parse: name=vfsfile:/home/vicky/eclipseworkspaces/workspace/jboss-deployers-trunk/deployers-vfs/target/tests-classes/bean/multiple/real-rar.jar/ state=Not Installed mode=Manual requiredState=Parse
| org.jboss.deployers.spi.DeploymentException: Error creating managed object for vfsfile:/home/vicky/eclipseworkspaces/workspace/jboss-deployers-trunk/deployers-vfs/target/tests-classes/bean/multiple/real-rar.jar/
| at org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:49)
| at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:343)
| at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:288)
| at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.deploy(AbstractParsingDeployerWithOutput.java:238)
| at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:174)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:970)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:911)
| at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)
| at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1394)
| at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:786)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:914)
| at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:836)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:674)
| at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:456)
| at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:594)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)
| at org.jboss.test.deployers.vfs.deployer.DeployerClientTest.assertDeploy(DeployerClientTest.java:57)
| at org.jboss.test.deployers.vfs.deployer.DeployerClientTest.assertDeploy(DeployerClientTest.java:46)
| at org.jboss.test.deployers.vfs.deployer.merge.test.MockRarUnitTestCase.testRarMerge(MockRarUnitTestCase.java:71)
| at org.jboss.test.deployers.vfs.deployer.merge.test.MockRarUnitTestCase.testSpecRar(MockRarUnitTestCase.java:106)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at junit.framework.TestCase.runTest(TestCase.java:168)
| at junit.framework.TestCase.runBare(TestCase.java:134)
| at junit.framework.TestResult$1.protect(TestResult.java:110)
| at junit.framework.TestResult.runProtected(TestResult.java:128)
| at junit.framework.TestResult.run(TestResult.java:113)
| at junit.framework.TestCase.run(TestCase.java:124)
| at junit.framework.TestSuite.runTest(TestSuite.java:232)
| at junit.framework.TestSuite.run(TestSuite.java:227)
| at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
| at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
| at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
| at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
| at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338)
| at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)
| Caused by: org.jboss.xb.binding.JBossXBException: Failed to parse source: Failed to parse schema for nsURI=http://java.sun.com/xml/ns/j2ee, baseURI=null, schemaLocation=http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:193)
| at org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:153)
| at org.jboss.deployers.vfs.spi.deployer.JBossXBDeployer.parse(JBossXBDeployer.java:167)
| at org.jboss.deployers.vfs.spi.deployer.MultipleSchemaResolverDeployer.mergeFiles(MultipleSchemaResolverDeployer.java:168)
| at org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parse(AbstractVFSParsingDeployer.java:156)
| at org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput.createMetaData(AbstractParsingDeployerWithOutput.java:331)
| ... 41 more
| Caused by: org.jboss.xb.binding.JBossXBRuntimeException: Failed to parse schema for nsURI=http://java.sun.com/xml/ns/j2ee, baseURI=null, schemaLocation=http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd
| at org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver.resolve(DefaultSchemaResolver.java:340)
| at org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.startElement(SundayContentHandler.java:302)
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser$DelegatingContentHandler.startElement(SaxJBossXBParser.java:407)
| at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
| at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
| at org.apache.xerces.xinclude.XIncludeHandler.startElement(Unknown Source)
| at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
| at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
| at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
| at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
| at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
| at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
| at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
| at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
| at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
| at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBParser.java:189)
| ... 46 more
| Caused by: org.jboss.xb.binding.JBossXBRuntimeException: -1:-1 31:3 The declaration for the entity "HTML.Version" must end with '>'.
| at org.jboss.xb.binding.sunday.unmarshalling.XsdBinderTerminatingErrorHandler.handleError(XsdBinderTerminatingErrorHandler.java:40)
| at org.apache.xerces.impl.xs.XMLSchemaLoader.reportDOMFatalError(Unknown Source)
| at org.apache.xerces.impl.xs.XSLoaderImpl.load(Unknown Source)
| at org.jboss.xb.binding.Util.loadSchema(Util.java:395)
| at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(XsdBinder.java:175)
| at org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(XsdBinder.java:146)
| at org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver.resolve(DefaultSchemaResolver.java:332)
| ... 61 more
What is that I am missing here ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4153277#4153277
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4153277
17 years, 10 months