2 Replies Latest reply on Apr 27, 2005 5:57 PM by rcarragher

    Isolated Classloaders and XML Parsers

    rcarragher

      I followed the instructions on the wiki to use scoped and isolated classloaders for log4j separation. I am stuck on the following problem, and I can't seem to get around it...any help would be much appreciated. I'm using JBoss 3.2.3 (have to use this version, unfortunately) on WinXp. My application is an ear with both WARs and ejb jars.

      With isolated classloaders, on application startup, my version of log4j tries to initialize via a startup servlet. I get a NoClassDefFound error on org/w3c/document/Document. Figuring that isolated classloading means that I need to package the xml parser in my ear, I then put xml-apis.jar and xercesImpl.jar in my ear, and updated all of my Manifest.mf files to have them in their class path. (I'm using the same exact version of the xml jars as was distributed with 3.2.3). When I repackage the ear and start JBoss, I get the following exception:

      2005-04-25 12:41:58,729 DEBUG [org.jboss.deployment.MainDeployer] Begin deployment start file:/C:/jboss-3.2.3/server/te-1.9.2.0.229/tmp/deploy/tmp26480transactionware-enterprise-head-office-server.ear-contents/transactionware-enterprise-configurator-web.war

      2005-04-25 12:41:58,759 WARN [org.jboss.util.NestedThrowable] Duplicate throwable nesting of same base type: class org.jboss.deployment.DeploymentException is assignable from: class org.jboss.deployment.DeploymentException

      2005-04-25 12:41:58,759 WARN [org.jboss.web.tomcat.tc4.EmbeddedTomcatService] Failed to parse descriptors for war(file:/C:/jboss-3.2.3/server/te-1.9.2.0.229/tmp/deploy/tmp26480transactionware-enterprise-head-office-server.ear-contents/transactionware-enterprise-configurator-web.war/)

      org.jboss.deployment.DeploymentException: Failed to parse WEB-INF/web.xml; - nested throwable: (org.jboss.deployment.DeploymentException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl; - nested throwable: (java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl))

      at org.jboss.web.AbstractWebContainer.parseMetaData(AbstractWebContainer.java:980)

      at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:425)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy6.deploy(Unknown Source)

      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)

      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)

      at $Proxy0.start(Unknown Source)

      at org.jboss.system.ServiceController.start(ServiceController.java:394)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy4.start(Unknown Source)

      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:589)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy5.deploy(Unknown Source)

      at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:384)

      at org.jboss.system.server.ServerImpl.start(ServerImpl.java:291)

      at org.jboss.Main.boot(Main.java:150)

      at org.jboss.Main$1.run(Main.java:395)

      at java.lang.Thread.run(Thread.java:479)

      + nested throwable:

      org.jboss.deployment.DeploymentException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl; - nested throwable: (java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl)

      at org.jboss.metadata.XmlFileLoader.getDocument(XmlFileLoader.java:316)

      at org.jboss.metadata.XmlFileLoader.getDocument(XmlFileLoader.java:247)

      at org.jboss.web.AbstractWebContainer.parseMetaData(AbstractWebContainer.java:973)

      at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:425)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy6.deploy(Unknown Source)

      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)

      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)

      at $Proxy0.start(Unknown Source)

      at org.jboss.system.ServiceController.start(ServiceController.java:394)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy4.start(Unknown Source)

      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:589)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy5.deploy(Unknown Source)

      at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:384)

      at org.jboss.system.server.ServerImpl.start(ServerImpl.java:291)

      at org.jboss.Main.boot(Main.java:150)

      at org.jboss.Main$1.run(Main.java:395)

      at java.lang.Thread.run(Thread.java:479)

      + nested throwable:

      java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl

      at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)

      at org.jboss.metadata.XmlFileLoader.getDocument(XmlFileLoader.java:283)

      at org.jboss.metadata.XmlFileLoader.getDocument(XmlFileLoader.java:247)

      at org.jboss.web.AbstractWebContainer.parseMetaData(AbstractWebContainer.java:973)

      at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:425)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:824)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy6.deploy(Unknown Source)

      at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:302)

      at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:476)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)

      at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274)

      at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:192)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)

      at $Proxy0.start(Unknown Source)

      at org.jboss.system.ServiceController.start(ServiceController.java:394)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy4.start(Unknown Source)

      at org.jboss.deployment.SARDeployer.start(SARDeployer.java:226)

      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:832)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:642)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:605)

      at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:589)

      at java.lang.reflect.Method.invoke(Native Method)

      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)

      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:546)

      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)

      at $Proxy5.deploy(Unknown Source)

      at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:384)

      at org.jboss.system.server.ServerImpl.start(ServerImpl.java:291)

      at org.jboss.Main.boot(Main.java:150)

      at org.jboss.Main$1.run(Main.java:395)

      at java.lang.Thread.run(Thread.java:479)


      Shortly thereafter, I also get many more ClassCastExceptions on org.apache.xerces.parsers.StandardParserConfiguration.

      I'm confused. It seems that including xml-apis.jar and xercesImpl.jar in my ear "breaks" JBoss. Thanks in advance....

      Rick

        • 1. Re: Isolated Classloaders and XML Parsers
          rcarragher

          Still working on this. I was able to upgrade to 3.2.7, but I'm still seeing the same problem. I think that deploying the xml jars in my ear is wrong, so I'm trying to pursue why I'm getting the following:

          2005-04-27 15:50:09,583 ERROR [org.jboss.web.localhost.Engine] StandardContext[/triversity/transactionware/1.9.2.0.229/asyncservices]Servlet /triversity/transactionware/1.9.2.0.229/asyncservices threw load() exception
          javax.servlet.ServletException: Error instantiating servlet class com.triversity.transactionware.tetimer.ctrl.TimerServlet
          at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1010)
          at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:876)
          at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4017)
          at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
          at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
          at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
          at
          [SNIP]
          2005-04-27 15:50:09,593 ERROR [org.jboss.web.localhost.Engine] ----- Root Cause -----
          java.lang.NoClassDefFoundError: org/w3c/dom/Document
          at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
          at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
          at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:602)
          at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
          at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
          at com.triversity.tef.util.logging.TEFLogManager.getLog(TEFLogManager.java:46)
          at com.triversity.tef.util.logging.Log.getLogInstance(Log.java:73)
          at com.triversity.transactionware.tetimer.ctrl.TimerServlet.<clinit>(TimerServlet.java:54)
          at java.lang.Class.newInstance0(Native Method)
          at java.lang.Class.newInstance(Class.java:232)
          at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1001)
          at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:876)
          at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4017)
          [SNIP]


          I turned on class loading debugging, and I was suprised to see that it is not a NoClassDefFoundError on org.w3c.dom.Document, it was a java.lang.LinkageError. Here's THAT stacktrace:

          2005-04-27 15:50:09,573 TRACE [org.jboss.mx.loading.LoadMgr3] Run failed with exception

          java.lang.LinkageError: Class org/w3c/dom/Document violates loader constraints
          at java.lang.ClassLoader.defineClass0(Native Method)
          at java.lang.ClassLoader.defineClass(ClassLoader.java:488)
          at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:106)
          at java.net.URLClassLoader.defineClass(URLClassLoader.java:243)
          at java.net.URLClassLoader.access$100(URLClassLoader.java:51)
          at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:183)
          at org.jboss.mx.loading.UnifiedClassLoader.findClass(UnifiedClassLoader.java:523)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:294)
          at org.jboss.mx.loading.UnifiedClassLoader.loadClassLocally(UnifiedClassLoader.java:303)
          at org.jboss.mx.loading.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:118)
          at org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:360)
          at org.jboss.mx.loading.UnifiedClassLoader3.loadClassImpl(UnifiedClassLoader3.java:198)
          at org.jboss.mx.loading.UnifiedClassLoader3.loadClass(UnifiedClassLoader3.java:136)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
          at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:310)
          at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
          at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
          at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:602)
          at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
          at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
          at com.triversity.tef.util.logging.TEFLogManager.getLog(TEFLogManager.java:46)
          at com.triversity.tef.util.logging.Log.getLogInstance(Log.java:73)
          at com.triversity.transactionware.tetimer.ctrl.TimerServlet.<clinit>(TimerServlet.java:54)
          at java.lang.Class.newInstance0(Native Method)
          at java.lang.Class.newInstance(Class.java:232)
          at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1001)
          at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:876)
          at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4017)
          at org.apache.catalina.core.StandardContext.start(StandardContext.java:4337)
          at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
          at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
          at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
          at java.lang.reflect.Method.invoke(Native Method)
          at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
          at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:149)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
          at org.apache.catalina.core.StandardContext.init(StandardContext.java:5456)
          at java.lang.reflect.Method.invoke(Native Method)
          at org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
          at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:149)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
          at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeployInternal(TomcatDeployer.java:324)
          at org.jboss.web.tomcat.tc5.TomcatDeployer.performDeploy(TomcatDeployer.java:83)
          at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:320)
          at org.jboss.web.WebModule.startModule(WebModule.java:62)
          at org.jboss.web.WebModule.startService(WebModule.java:40)
          at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
          at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
          at java.lang.reflect.Method.invoke(Native Method)
          at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
          at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:899)
          at $Proxy17.start(Unknown Source)
          at org.jboss.system.ServiceController.start(ServiceController.java:415)
          at java.lang.reflect.Method.invoke(Native Method)
          at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
          at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
          at $Proxy29.start(Unknown Source)
          at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:363)
          at org.jboss.deployment.MainDeployer.start(MainDeployer.java:829)
          at org.jboss.deployment.MainDeployer.start(MainDeployer.java:821)
          at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:641)
          at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:604)
          at java.lang.reflect.Method.invoke(Native Method)
          at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
          at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
          at $Proxy7.deploy(Unknown Source)
          at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:304)
          at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:478)
          at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:201)
          at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:274)
          at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:271)
          at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:221)
          at java.lang.reflect.Method.invoke(Native Method)
          at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
          at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:899)
          at $Proxy0.start(Unknown Source)
          at org.jboss.system.ServiceController.start(ServiceController.java:415)
          at java.lang.reflect.Method.invoke(Native Method)
          at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
          at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
          at $Proxy4.start(Unknown Source)
          at org.jboss.deployment.SARDeployer.start(SARDeployer.java:251)
          at org.jboss.deployment.MainDeployer.start(MainDeployer.java:829)
          at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:641)
          at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:604)
          at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:588)
          at java.lang.reflect.Method.invoke(Native Method)
          at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
          at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
          at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
          at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
          at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
          at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
          at $Proxy5.deploy(Unknown Source)
          at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:407)
          at org.jboss.system.server.ServerImpl.start(ServerImpl.java:311)
          at org.jboss.Main.boot(Main.java:191)
          at org.jboss.Main$1.run(Main.java:480)
          at java.lang.Thread.run(Thread.java:479)


          Again, I'm using an EAR, have isolated classloading on, with java2ParentDelegation set to false. I added a jboss-web.xml to the 4 WARs in my ear, so i could turn java2ClassLoadingCompliance to false, and I did the same in Tomcat, including UseJBossWebLoader to false. I'm at my wit's end...not sure what else to try.

          Any thoughts out there?

          • 2. Re: Isolated Classloaders and XML Parsers
            rcarragher

            Ok, I'm the jerk.

            There was a rogue utility jar (one of about 50) in my deployment that had org.w3c.dom.* in it. I removed those classes from the jar, redeployed the app, and "Voila!"

            Problem solved.