[jboss-user] [Installation, Configuration & DEPLOYMENT] - Re: ClassCastException due to Xerces conflict during app dep
do-not-reply at jboss.com
Mon Aug 17 06:34:38 EDT 2009
I read about this, during the weekend, in the apache xerces project page. Turns out, this is a common issue with all application server and they have a FAQ for this specific issue which explains the details http://xerces.apache.org/xerces2-j/faq-general.html#faq-5. JBoss AS runs into this exact issue.
"rodos77" wrote :
| IMHO, I think the deployer should either do this after it instantiates the parser or it should temporarily swap out the context classloader and swap in the deployer classloader in its place
The deployers use JBossXB:
| 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(Unmarsha
So i guess its the responsibility of JBoss XB to switch the classloader.
I am not an expert of xml or JBossXB. So i guess the best place to bring this up, is the JBossXB forum here http://www.jboss.org/index.html?module=bb&op=viewforum&f=212
"jaikiran" wrote :
| From what i looked at, the deployment framework starts using the version of xerces jar present in your deployment because it sets the classloader to your deployment's classloader. I think this is the correct thing to do, because each deployment is expected to be started within its own classloader to ensure that it gets access to the right resources.
Switching the classloader should be done only for the xerces issue, the rest of the deployment process should continue to use the deployment's classloader.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4249883#4249883
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4249883
More information about the jboss-user