1 Reply Latest reply on Feb 4, 2011 3:19 AM by santhosh kotha

    ClasscastException while deploying in JBoss 5.1

    santhosh kotha Newbie

      I am getting below error while deploying the application in JBOSS 5.1.

       

      1)  caused by: Caught exception while loading file struts-default.xml - [unknown location]

          at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:894)

          at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadDocuments(XmlConfigurationProvider.java:144)

          at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.init(XmlConfigurationProvider.java:111)

          at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:164)

          at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)

          ... 76 more

      Caused by: java.lang.ClassCastException: org.apache.xerces.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory

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

          at com.opensymphony.xwork2.util.DomHelper.parse(DomHelper.java:93)

          at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadConfigurationFiles(XmlConfigurationProvider.java:885)

          ... 80 more

       

       

       

      My application war containing

      xalan-2.7.0.jar

      xercesImpl-2.8.1.jar

      xml-apis-2.9.1.jar

      xmlbeans-2.3.0.jar

      xmlParserAPIs-2.6.0.jar

      XmlSchema-1.4.2.jar etc...

       

      The same application works fine in tomcat and JBOSS 4.2.3, but it's not working with 5.1 If I ship jboss-web.xml with below content in war, it's working fine.

      <?xml version='1.0' encoding='UTF-8' ?>

       

      <!DOCTYPE jboss-web

          PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"

          "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">

       

      <jboss-web>

       

        <class-loading java2ClassLoadingCompliance='true'>

      <loader-repository>com.loader:loader=service-web

      <loader-repository-config>java2ParentDelegation=true</loader-repository-config>

      </loader-repository>

      </class-loading>

      <security-domain>java:/jaas/cdf-ldap</security-domain>

      </jboss-web>

       

       

       

      Or else even if I don't use Unified class loader(isolated loader for each webapp) by commenting out below configuration in war-deployers-jboss-beans.xml file, it works fine.

      <bean name="WarClassLoaderDeployer" class="org.jboss.web.tomcat.service.deployers.WarClassLoaderDeployer">

            <property name="relativeOrder">-1</property>

            <property name="filteredPackages">javax.servlet,org.apache.commons.logging</property>     

         </bean>

       

      which means if I use jboss classloader it works or else with UCL by enabling java2ParentDelegation to true, it's working.

      As per my understanding if java2ParentDelegation=true, classloader tries to load the class from parent class repository(domain) cache first, if not it follows the normal hierarchy(of java2ParentDelegation = false configuration). What really makes difference by enabling this configuration while loading the xlan,xrecesImpl jars(which are also part of JBOSS lib)?

       

      Also why it is working in JBOSS 4.2.3 with isolated class loader configuration and not working in 5.1 with same configuration? Will relative Order play any role here? I tried with -1,0,1 options, it doen't make any difference, getting the exception.

        • 1. ClasscastException while deploying in JBoss 5.1
          santhosh kotha Newbie

          2011-02-04 13:48:47,550 ERROR [org.jboss.web.tomcat.service.deployers.JBossContextConfig] (main) XML error parsing: context.xml

          org.jboss.xb.binding.JBossXBRuntimeException: Failed to create a new SAX parser

              at org.jboss.xb.binding.UnmarshallerFactory$UnmarshallerFactoryImpl.newUnmarshaller(UnmarshallerFactory.java:100)

              at org.jboss.web.tomcat.service.deployers.JBossContextConfig.processContextConfig(JBossContextConfig.java:549)

              at org.jboss.web.tomcat.service.deployers.JBossContextConfig.init(JBossContextConfig.java:536)

              at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:279)

              at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)

              at org.apache.catalina.core.StandardContext.init(StandardContext.java:5436)

              at org.apache.catalina.core.StandardContext.start(StandardContext.java:4148)

              at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:310)

              at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:142)

              at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:461)

              at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)

              at org.jboss.web.deployers.WebModule.start(WebModule.java:97)

              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:597)

              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)

              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)

              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)

              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)

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

              at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)

              at $Proxy38.start(Unknown Source)

              at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)

              at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)

              at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)

              at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)

              at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)

              at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

              at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)

              at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)

              at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)

              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)

              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)

              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)

              at org.jboss.system.ServiceController.doChange(ServiceController.java:688)

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

              at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:163)

              at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:99)

              at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)

              at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)

              at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)

              at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)

              at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1439)

              at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)

              at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)

              at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1098)

              at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

              at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)

              at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)

              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)

              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)

              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)

              at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:781)

              at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:702)

              at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)

              at org.jboss.system.server.profileservice.repository.ProfileDeployAction.install(ProfileDeployAction.java:70)

              at org.jboss.system.server.profileservice.repository.AbstractProfileAction.install(AbstractProfileAction.java:53)

              at org.jboss.system.server.profileservice.repository.AbstractProfileService.install(AbstractProfileService.java:361)

              at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)

              at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1631)

              at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)

              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1082)

              at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)

              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)

              at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)

              at org.jboss.system.server.profileservice.repository.AbstractProfileService.activateProfile(AbstractProfileService.java:306)

              at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:271)

              at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:461)

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

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

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

          Caused by: org.jboss.xb.binding.JBossXBException: Failed to create a new SAX parser

              at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.<init>(SaxJBossXBParser.java:97)

              at org.jboss.xb.binding.UnmarshallerImpl.<init>(UnmarshallerImpl.java:56)

              at org.jboss.xb.binding.UnmarshallerFactory$UnmarshallerFactoryImpl.newUnmarshaller(UnmarshallerFactory.java:96)

              ... 73 more

          Caused by: java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration

              at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)

              at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source)

              at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.<init>(Unknown Source)

              at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source)

              at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source)

              at org.jboss.xb.binding.parser.sax.SaxJBossXBParser.<init>(SaxJBossXBParser.java:92)

              ... 75 more