You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by Christian Svensson <bl...@cmd.nu> on 2008/12/15 19:53:24 UTC

Xerces / JPA and Geronimo

Hello.

I'm trying to make OpenJPA and Xerces play along.

When I use my code as is without Xerces, everything works until I use new
DocumentImpl(); - no surprise there.

When I add my xercesImpl.jar, sometimes it works (I suppose when the
ClassLoader hasn't got poisoned) and then it stops when I redeploy:

 org.apache.openjpa.persistence.PersistenceException:
org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be
cast to org.apache.xerces.xni.parser.XMLParserConfiguration
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:196)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
	at org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
	at org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
	at org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
	at org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
	at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
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.DOMParser.(Unknown Source)
	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
	at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown
Source)
	at org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java:107)
	at org.apache.openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java:107)
	at org.apache.openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java:4128)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:155)
	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
	at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
	at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1265)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
	at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103)
	at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
	at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
	... 36 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.DOMParser.(Unknown Source)
	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
	at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown
Source)
	at org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java:107)
	at org.apache.openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java:107)
	at org.apache.openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java:4128)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:155)
	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
	at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
	at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1265)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
	at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103)
	at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
	at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
	at org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
	at org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
	at org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
	at org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
	at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)


As a novice I see two options:

a) Use the same xerces as OpenJPA - I've been unsuccessful in locating it
though.
b) Shield the application somehow. I know that EARs have hidden-classes, but
reading mailing lists it would see that it does not work with Xerces - why
I'm not sure.

How do I get around this issue?

Greetings,
-- 
Christian Svensson
Command Systems

Re: Xerces / JPA and Geronimo

Posted by David Jencks <da...@yahoo.com>.
Thanks for confirming this works!  I put a little documentation here:

http://cwiki.apache.org/confluence/display/GMOxDOC22/Classloading

david jencks

On Dec 15, 2008, at 12:59 PM, Christian Svensson wrote:

> Hello again.
>
> I put xercesImpl.jar in the endorsed directory and it seems to be  
> working.
> At least it survived a couple of redeployments.
>
> Thanks
>
> Greetings,
>
> On Mon, Dec 15, 2008 at 9:49 PM, Christian Svensson <bl...@cmd.nu>  
> wrote:
> Hello.
>
> I'm using Geronimo 2.1.4-SNAPSHOT downloaded today.
> Xerces is the latest, 2.9.1 if I'm not mistaken.
>
> I'm putting xercesImpl.jar in my WEB-INF/lib directory.
>
> I'll try experimenting with the endorsed directory.
>
> Greetings.
>
>
> On Mon, Dec 15, 2008 at 9:33 PM, David Jencks  
> <da...@yahoo.com> wrote:
> Which geronimo, which xerces, and how are you making your xerces  
> available to your app?
>
> It's been a very long time since I dealt with this kind of problem  
> but I have a faint memory that xml parsers are "endorsed" which  
> basically means that classloading for them is completely messed up.   
> I think you may need to put your copy of xerces in <geronimo-home>/ 
> lib/endorsed.  However I get endorsed and ext mixed up and it might  
> be lib/ext.
>
> hope this helps more than it confuses.
>
> david jencks
>
> On Dec 15, 2008, at 10:53 AM, Christian Svensson wrote:
>
>> Hello.
>>
>> I'm trying to make OpenJPA and Xerces play along.
>>
>> When I use my code as is without Xerces, everything works until I  
>> use new DocumentImpl(); - no surprise there.
>>
>> When I add my xercesImpl.jar, sometimes it works (I suppose when  
>> the ClassLoader hasn't got poisoned) and then it stops when I  
>> redeploy:
>>  org.apache.openjpa.persistence.PersistenceException:  
>> org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot  
>> be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java: 
>> 196)
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .kernel 
>> .DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .persistence 
>> .EntityManagerFactoryImpl 
>> .createEntityManager(EntityManagerFactoryImpl.java:192)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .persistence 
>> .EntityManagerFactoryImpl 
>> .createEntityManager(EntityManagerFactoryImpl.java:145)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .persistence 
>> .EntityManagerFactoryImpl 
>> .createEntityManager(EntityManagerFactoryImpl.java:56)
>> 	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
>>
>>
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>> 	at  
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 
>> 487)
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .InternalJettyServletHolder.handle(InternalJettyServletHolder.java: 
>> 65)
>>
>>
>>
>> 	at  
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 
>> 362)
>> 	at  
>> org 
>> .mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 
>> 216)
>> 	at  
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 
>> 181)
>>
>>
>>
>> 	at  
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 
>> 726)
>> 	at  
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access 
>> $101(TwistyWebAppContext.java:40)
>>
>>
>>
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
>> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .handler 
>> .ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
>>
>>
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .handler.InstanceContextHandler.handle(InstanceContextHandler.java: 
>> 58)
>>
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .handler.UserTransactionHandler.handle(UserTransactionHandler.java: 
>> 48)
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .handler 
>> .ComponentContextHandler.handle(ComponentContextHandler.java:47)
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java: 
>> 59)
>>
>>
>>
>> 	at  
>> org 
>> .mortbay 
>> .jetty 
>> .handler 
>> .ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>> 	at  
>> org 
>> .mortbay 
>> .jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>> 	at  
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 
>> 139)
>>
>>
>>
>> 	at org.mortbay.jetty.Server.handle(Server.java:324)
>> 	at  
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 
>> 505)
>> 	at org.mortbay.jetty.HttpConnection 
>> $RequestHandler.headerComplete(HttpConnection.java:828)
>>
>>
>>
>> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>> 	at  
>> org 
>> .mortbay 
>> .io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>
>>
>>
>> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>> 	at org.apache.geronimo.pool.ThreadPool 
>> $ContextClassLoaderRunnable.run(ThreadPool.java:344)
>> 	at java.util.concurrent.ThreadPoolExecutor 
>> $Worker.runTask(ThreadPoolExecutor.java:886)
>>
>>
>>
>> 	at java.util.concurrent.ThreadPoolExecutor 
>> $Worker.run(ThreadPoolExecutor.java:908)
>> 	at java.lang.Thread.run(Thread.java:619)
>> 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.DOMParser.(Unknown Source)
>> 	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
>> 	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
>> 	at  
>> org 
>> .apache 
>> .xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown  
>> Source)
>>
>>
>>
>> 	at  
>> org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java: 
>> 107)
>> 	at  
>> org 
>> .apache 
>> .openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java: 
>> 107)
>> 	at  
>> org 
>> .apache 
>> .openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java: 
>> 4128)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .lib.conf.Configurations.configureInstance(Configurations.java:505)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .lib.conf.Configurations.configureInstance(Configurations.java:430)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .jdbc 
>> .sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java: 
>> 155)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .jdbc 
>> .sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .jdbc 
>> .conf 
>> .JDBCConfigurationImpl 
>> .getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .jdbc 
>> .meta.MappingRepository.endConfiguration(MappingRepository.java:1265)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .lib.conf.Configurations.configureInstance(Configurations.java:505)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .lib.conf.Configurations.configureInstance(Configurations.java:430)
>> 	at  
>> org 
>> .apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java: 
>> 103)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .conf 
>> .MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
>> 	at  
>> org 
>> .apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .conf 
>> .OpenJPAConfigurationImpl 
>> .newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .conf 
>> .OpenJPAConfigurationImpl 
>> .getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .kernel 
>> .AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java: 
>> 183)
>> 	... 36 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.DOMParser.(Unknown Source)
>> 	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
>> 	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
>> 	at  
>> org 
>> .apache 
>> .xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown  
>> Source)
>>
>>
>>
>> 	at  
>> org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java: 
>> 107)
>> 	at  
>> org 
>> .apache 
>> .openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java: 
>> 107)
>> 	at  
>> org 
>> .apache 
>> .openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java: 
>> 4128)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .lib.conf.Configurations.configureInstance(Configurations.java:505)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .lib.conf.Configurations.configureInstance(Configurations.java:430)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .jdbc 
>> .sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java: 
>> 155)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .jdbc 
>> .sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .jdbc 
>> .conf 
>> .JDBCConfigurationImpl 
>> .getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .jdbc 
>> .meta.MappingRepository.endConfiguration(MappingRepository.java:1265)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .lib.conf.Configurations.configureInstance(Configurations.java:505)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .lib.conf.Configurations.configureInstance(Configurations.java:430)
>> 	at  
>> org 
>> .apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java: 
>> 103)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .conf 
>> .MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
>> 	at  
>> org 
>> .apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .conf 
>> .OpenJPAConfigurationImpl 
>> .newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .conf 
>> .OpenJPAConfigurationImpl 
>> .getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .kernel 
>> .AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java: 
>> 183)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .kernel 
>> .DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .persistence 
>> .EntityManagerFactoryImpl 
>> .createEntityManager(EntityManagerFactoryImpl.java:192)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .persistence 
>> .EntityManagerFactoryImpl 
>> .createEntityManager(EntityManagerFactoryImpl.java:145)
>> 	at  
>> org 
>> .apache 
>> .openjpa 
>> .persistence 
>> .EntityManagerFactoryImpl 
>> .createEntityManager(EntityManagerFactoryImpl.java:56)
>>
>>
>>
>> 	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>
>>
>> 	at  
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 
>> 487)
>>
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .InternalJettyServletHolder.handle(InternalJettyServletHolder.java: 
>> 65)
>> 	at  
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 
>> 362)
>> 	at  
>> org 
>> .mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 
>> 216)
>>
>>
>>
>> 	at  
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 
>> 181)
>> 	at  
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 
>> 726)
>> 	at  
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>>
>>
>>
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access 
>> $101(TwistyWebAppContext.java:40)
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
>> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .handler 
>> .ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .handler.InstanceContextHandler.handle(InstanceContextHandler.java: 
>> 58)
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .handler.UserTransactionHandler.handle(UserTransactionHandler.java: 
>> 48)
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6 
>> .handler 
>> .ComponentContextHandler.handle(ComponentContextHandler.java:47)
>>
>>
>>
>> 	at  
>> org 
>> .apache 
>> .geronimo 
>> .jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java: 
>> 59)
>> 	at  
>> org 
>> .mortbay 
>> .jetty 
>> .handler 
>> .ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>> 	at  
>> org 
>> .mortbay 
>> .jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>
>>
>>
>> 	at  
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 
>> 139)
>> 	at org.mortbay.jetty.Server.handle(Server.java:324)
>> 	at  
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 
>> 505)
>> 	at org.mortbay.jetty.HttpConnection 
>> $RequestHandler.headerComplete(HttpConnection.java:828)
>>
>>
>>
>> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>> 	at  
>> org 
>> .mortbay 
>> .io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>
>>
>>
>> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>> 	at org.apache.geronimo.pool.ThreadPool 
>> $ContextClassLoaderRunnable.run(ThreadPool.java:344)
>> 	at java.util.concurrent.ThreadPoolExecutor 
>> $Worker.runTask(ThreadPoolExecutor.java:886)
>>
>>
>>
>> 	at java.util.concurrent.ThreadPoolExecutor 
>> $Worker.run(ThreadPoolExecutor.java:908)
>> 	at java.lang.Thread.run(Thread.java:619)
>>
>> As a novice I see two options:
>>
>> a) Use the same xerces as OpenJPA - I've been unsuccessful in  
>> locating it though.
>> b) Shield the application somehow. I know that EARs have hidden- 
>> classes, but reading mailing lists it would see that it does not  
>> work with Xerces - why I'm not sure.
>>
>> How do I get around this issue?
>>
>> Greetings,
>> -- 
>> Christian Svensson
>> Command Systems
>
>
>
>
> -- 
> Christian Svensson
> Command Systems
>
>
>
> -- 
> Christian Svensson
> Command Systems


Re: Xerces / JPA and Geronimo

Posted by Christian Svensson <bl...@cmd.nu>.
Hello again.

I put xercesImpl.jar in the endorsed directory and it seems to be working.
At least it survived a couple of redeployments.

Thanks

Greetings,

On Mon, Dec 15, 2008 at 9:49 PM, Christian Svensson <bl...@cmd.nu> wrote:

> Hello.
>
> I'm using Geronimo 2.1.4-SNAPSHOT downloaded today.
> Xerces is the latest, 2.9.1 if I'm not mistaken.
>
> I'm putting xercesImpl.jar in my WEB-INF/lib directory.
>
> I'll try experimenting with the endorsed directory.
>
> Greetings.
>
>
> On Mon, Dec 15, 2008 at 9:33 PM, David Jencks <da...@yahoo.com>wrote:
>
>> Which geronimo, which xerces, and how are you making your xerces available
>> to your app?
>> It's been a very long time since I dealt with this kind of problem but I
>> have a faint memory that xml parsers are "endorsed" which basically means
>> that classloading for them is completely messed up.  I think you may need to
>> put your copy of xerces in <geronimo-home>/lib/endorsed.  However I get
>> endorsed and ext mixed up and it might be lib/ext.
>>
>> hope this helps more than it confuses.
>>
>> david jencks
>>
>> On Dec 15, 2008, at 10:53 AM, Christian Svensson wrote:
>>
>> Hello.
>>
>> I'm trying to make OpenJPA and Xerces play along.
>>
>> When I use my code as is without Xerces, everything works until I use new
>> DocumentImpl(); - no surprise there.
>>
>> When I add my xercesImpl.jar, sometimes it works (I suppose when the
>> ClassLoader hasn't got poisoned) and then it stops when I redeploy:
>>
>>  org.apache.openjpa.persistence.PersistenceException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
>>
>> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:196)
>>
>> 	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
>> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
>> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
>>
>>
>> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
>> 	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
>>
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>>
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>> 	at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
>>
>>
>> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
>> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>
>>
>> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
>>
>>
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
>> 	at org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
>>
>> 	at org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
>>
>> 	at org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
>> 	at org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
>>
>>
>> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>>
>>
>> 	at org.mortbay.jetty.Server.handle(Server.java:324)
>> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>>
>>
>> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>
>>
>> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>> 	at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>
>>
>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>> 	at java.lang.Thread.run(Thread.java:619)
>> 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.DOMParser.(Unknown Source)
>> 	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
>> 	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
>> 	at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
>>
>>
>> 	at org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java:107)
>> 	at org.apache.openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java:107)
>> 	at org.apache.openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java:4128)
>>
>>
>> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
>> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
>> 	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:155)
>>
>>
>> 	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
>> 	at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
>> 	at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1265)
>>
>>
>> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
>> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
>> 	at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103)
>>
>>
>> 	at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
>> 	at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
>> 	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
>>
>>
>> 	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
>> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>>
>>
>> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
>> 	... 36 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.DOMParser.(Unknown Source)
>> 	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
>> 	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
>> 	at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
>>
>>
>> 	at org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java:107)
>> 	at org.apache.openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java:107)
>> 	at org.apache.openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java:4128)
>>
>>
>> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
>> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
>> 	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:155)
>>
>>
>> 	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
>> 	at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
>> 	at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1265)
>>
>>
>> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
>> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
>> 	at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103)
>>
>>
>> 	at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
>> 	at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
>> 	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
>>
>>
>> 	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
>> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>>
>>
>> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
>> 	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
>> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
>>
>>
>> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
>> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
>>
>>
>> 	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>>
>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>>
>> 	at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
>> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
>> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>
>>
>> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
>> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>>
>>
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
>> 	at org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
>>
>>
>> 	at org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
>> 	at org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
>> 	at org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
>>
>>
>> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
>> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
>> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>>
>>
>> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>> 	at org.mortbay.jetty.Server.handle(Server.java:324)
>> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>>
>>
>> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>
>>
>> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>> 	at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>
>>
>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>> 	at java.lang.Thread.run(Thread.java:619)
>>
>>
>> As a novice I see two options:
>>
>> a) Use the same xerces as OpenJPA - I've been unsuccessful in locating it
>> though.
>> b) Shield the application somehow. I know that EARs have hidden-classes,
>> but reading mailing lists it would see that it does not work with Xerces -
>> why I'm not sure.
>>
>> How do I get around this issue?
>>
>> Greetings,
>> --
>> Christian Svensson
>> Command Systems
>>
>>
>>
>
>
> --
> Christian Svensson
> Command Systems
>



-- 
Christian Svensson
Command Systems

Re: Xerces / JPA and Geronimo

Posted by Christian Svensson <bl...@cmd.nu>.
Hello.

I'm using Geronimo 2.1.4-SNAPSHOT downloaded today.
Xerces is the latest, 2.9.1 if I'm not mistaken.

I'm putting xercesImpl.jar in my WEB-INF/lib directory.

I'll try experimenting with the endorsed directory.

Greetings.

On Mon, Dec 15, 2008 at 9:33 PM, David Jencks <da...@yahoo.com>wrote:

> Which geronimo, which xerces, and how are you making your xerces available
> to your app?
> It's been a very long time since I dealt with this kind of problem but I
> have a faint memory that xml parsers are "endorsed" which basically means
> that classloading for them is completely messed up.  I think you may need to
> put your copy of xerces in <geronimo-home>/lib/endorsed.  However I get
> endorsed and ext mixed up and it might be lib/ext.
>
> hope this helps more than it confuses.
>
> david jencks
>
> On Dec 15, 2008, at 10:53 AM, Christian Svensson wrote:
>
> Hello.
>
> I'm trying to make OpenJPA and Xerces play along.
>
> When I use my code as is without Xerces, everything works until I use new
> DocumentImpl(); - no surprise there.
>
> When I add my xercesImpl.jar, sometimes it works (I suppose when the
> ClassLoader hasn't got poisoned) and then it stops when I redeploy:
>
>  org.apache.openjpa.persistence.PersistenceException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration
> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:196)
>
> 	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
>
> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
> 	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
> 	at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
>
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
>
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
> 	at org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
> 	at org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
>
> 	at org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
> 	at org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
>
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>
> 	at org.mortbay.jetty.Server.handle(Server.java:324)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>
> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
> 	at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:619)
> 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.DOMParser.(Unknown Source)
> 	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
> 	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
> 	at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
>
> 	at org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java:107)
> 	at org.apache.openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java:107)
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java:4128)
>
> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
> 	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:155)
>
> 	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
> 	at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
> 	at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1265)
>
> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
> 	at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103)
>
> 	at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
> 	at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
> 	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
>
> 	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>
> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
> 	... 36 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.DOMParser.(Unknown Source)
> 	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
> 	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
> 	at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
>
> 	at org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java:107)
> 	at org.apache.openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java:107)
> 	at org.apache.openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java:4128)
>
> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
> 	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:155)
>
> 	at org.apache.openjpa.jdbc.sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
> 	at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
> 	at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1265)
>
> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
> 	at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
> 	at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103)
>
> 	at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
> 	at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
> 	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
>
> 	at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>
> 	at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
> 	at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
>
> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
> 	at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
>
> 	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>
> 	at org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
>
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
> 	at org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
>
> 	at org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
> 	at org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
> 	at org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
>
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> 	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:324)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
>
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>
> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
> 	at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:619)
>
>
> As a novice I see two options:
>
> a) Use the same xerces as OpenJPA - I've been unsuccessful in locating it
> though.
> b) Shield the application somehow. I know that EARs have hidden-classes,
> but reading mailing lists it would see that it does not work with Xerces -
> why I'm not sure.
>
> How do I get around this issue?
>
> Greetings,
> --
> Christian Svensson
> Command Systems
>
>
>


-- 
Christian Svensson
Command Systems

Re: Xerces / JPA and Geronimo

Posted by David Jencks <da...@yahoo.com>.
Which geronimo, which xerces, and how are you making your xerces  
available to your app?

It's been a very long time since I dealt with this kind of problem but  
I have a faint memory that xml parsers are "endorsed" which basically  
means that classloading for them is completely messed up.  I think you  
may need to put your copy of xerces in <geronimo-home>/lib/endorsed.   
However I get endorsed and ext mixed up and it might be lib/ext.

hope this helps more than it confuses.

david jencks

On Dec 15, 2008, at 10:53 AM, Christian Svensson wrote:

> Hello.
>
> I'm trying to make OpenJPA and Xerces play along.
>
> When I use my code as is without Xerces, everything works until I  
> use new DocumentImpl(); - no surprise there.
>
> When I add my xercesImpl.jar, sometimes it works (I suppose when the  
> ClassLoader hasn't got poisoned) and then it stops when I redeploy:
>  org.apache.openjpa.persistence.PersistenceException:  
> org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be  
> cast to org.apache.xerces.xni.parser.XMLParserConfiguration
> 	at  
> org 
> .apache 
> .openjpa 
> .kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java: 
> 196)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .kernel 
> .DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
> 	at  
> org 
> .apache 
> .openjpa 
> .persistence 
> .EntityManagerFactoryImpl 
> .createEntityManager(EntityManagerFactoryImpl.java:192)
> 	at  
> org 
> .apache 
> .openjpa 
> .persistence 
> .EntityManagerFactoryImpl 
> .createEntityManager(EntityManagerFactoryImpl.java:145)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .persistence 
> .EntityManagerFactoryImpl 
> .createEntityManager(EntityManagerFactoryImpl.java:56)
> 	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> 	at  
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
>
> 	at  
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 
> 362)
> 	at  
> org 
> .mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 
> 216)
> 	at  
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 
> 181)
>
> 	at  
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 
> 726)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 
> 405)
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access 
> $101(TwistyWebAppContext.java:40)
>
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
> $TwistyHandler.handle(TwistyWebAppContext.java:65)
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .handler 
> .ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
>
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .handler.ComponentContextHandler.handle(ComponentContextHandler.java: 
> 47)
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java: 
> 59)
>
> 	at  
> org 
> .mortbay 
> .jetty 
> .handler 
> .ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> 	at  
> org 
> .mortbay 
> .jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
> 	at  
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 
> 139)
>
> 	at org.mortbay.jetty.Server.handle(Server.java:324)
> 	at  
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 
> 505)
> 	at org.mortbay.jetty.HttpConnection 
> $RequestHandler.headerComplete(HttpConnection.java:828)
>
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> 	at  
> org 
> .mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: 
> 395)
>
> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
> 	at org.apache.geronimo.pool.ThreadPool 
> $ContextClassLoaderRunnable.run(ThreadPool.java:344)
> 	at java.util.concurrent.ThreadPoolExecutor 
> $Worker.runTask(ThreadPoolExecutor.java:886)
>
> 	at java.util.concurrent.ThreadPoolExecutor 
> $Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:619)
> 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.DOMParser.(Unknown Source)
> 	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
> 	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
> 	at  
> org 
> .apache 
> .xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown  
> Source)
>
> 	at  
> org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java: 
> 107)
> 	at  
> org 
> .apache 
> .openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java: 
> 107)
> 	at  
> org 
> .apache 
> .openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java: 
> 4128)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .lib.conf.Configurations.configureInstance(Configurations.java:505)
> 	at  
> org 
> .apache 
> .openjpa 
> .lib.conf.Configurations.configureInstance(Configurations.java:430)
> 	at  
> org 
> .apache 
> .openjpa 
> .jdbc 
> .sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:155)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .jdbc 
> .sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
> 	at  
> org 
> .apache 
> .openjpa 
> .jdbc 
> .conf 
> .JDBCConfigurationImpl 
> .getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
> 	at  
> org 
> .apache 
> .openjpa 
> .jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java: 
> 1265)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .lib.conf.Configurations.configureInstance(Configurations.java:505)
> 	at  
> org 
> .apache 
> .openjpa 
> .lib.conf.Configurations.configureInstance(Configurations.java:430)
> 	at  
> org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java: 
> 103)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .conf 
> .MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
> 	at  
> org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java: 
> 83)
> 	at  
> org 
> .apache 
> .openjpa 
> .conf 
> .OpenJPAConfigurationImpl 
> .newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .conf 
> .OpenJPAConfigurationImpl 
> .getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
> 	at  
> org 
> .apache 
> .openjpa 
> .kernel 
> .AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java: 
> 183)
> 	... 36 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.DOMParser.(Unknown Source)
> 	at org.apache.xerces.parsers.DOMParser.(Unknown Source)
> 	at org.apache.xerces.jaxp.DocumentBuilderImpl.(Unknown Source)
> 	at  
> org 
> .apache 
> .xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown  
> Source)
>
> 	at  
> org.apache.openjpa.lib.xml.XMLFactory.getDOMParser(XMLFactory.java: 
> 107)
> 	at  
> org 
> .apache 
> .openjpa.jdbc.sql.SQLErrorCodeReader.parse(SQLErrorCodeReader.java: 
> 107)
> 	at  
> org 
> .apache 
> .openjpa.jdbc.sql.DBDictionary.endConfiguration(DBDictionary.java: 
> 4128)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .lib.conf.Configurations.configureInstance(Configurations.java:505)
> 	at  
> org 
> .apache 
> .openjpa 
> .lib.conf.Configurations.configureInstance(Configurations.java:430)
> 	at  
> org 
> .apache 
> .openjpa 
> .jdbc 
> .sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:155)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .jdbc 
> .sql.DBDictionaryFactory.newDBDictionary(DBDictionaryFactory.java:99)
> 	at  
> org 
> .apache 
> .openjpa 
> .jdbc 
> .conf 
> .JDBCConfigurationImpl 
> .getDBDictionaryInstance(JDBCConfigurationImpl.java:562)
> 	at  
> org 
> .apache 
> .openjpa 
> .jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java: 
> 1265)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .lib.conf.Configurations.configureInstance(Configurations.java:505)
> 	at  
> org 
> .apache 
> .openjpa 
> .lib.conf.Configurations.configureInstance(Configurations.java:430)
> 	at  
> org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java: 
> 103)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .conf 
> .MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
> 	at  
> org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java: 
> 83)
> 	at  
> org 
> .apache 
> .openjpa 
> .conf 
> .OpenJPAConfigurationImpl 
> .newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:863)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .conf 
> .OpenJPAConfigurationImpl 
> .getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:854)
> 	at  
> org 
> .apache 
> .openjpa 
> .kernel 
> .AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java: 
> 183)
> 	at  
> org 
> .apache 
> .openjpa 
> .kernel 
> .DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
> 	at  
> org 
> .apache 
> .openjpa 
> .persistence 
> .EntityManagerFactoryImpl 
> .createEntityManager(EntityManagerFactoryImpl.java:192)
>
> 	at  
> org 
> .apache 
> .openjpa 
> .persistence 
> .EntityManagerFactoryImpl 
> .createEntityManager(EntityManagerFactoryImpl.java:145)
> 	at  
> org 
> .apache 
> .openjpa 
> .persistence 
> .EntityManagerFactoryImpl 
> .createEntityManager(EntityManagerFactoryImpl.java:56)
>
> 	at org.cmd.web.fileserver.Browser.doGet(Browser.java:51)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> 	at  
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
> 	at  
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java: 
> 362)
> 	at  
> org 
> .mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 
> 216)
>
> 	at  
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java: 
> 181)
> 	at  
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java: 
> 726)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 
> 405)
>
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access 
> $101(TwistyWebAppContext.java:40)
> 	at org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
> $TwistyHandler.handle(TwistyWebAppContext.java:65)
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .handler 
> .ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
>
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6 
> .handler.ComponentContextHandler.handle(ComponentContextHandler.java: 
> 47)
>
> 	at  
> org 
> .apache 
> .geronimo 
> .jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java: 
> 59)
> 	at  
> org 
> .mortbay 
> .jetty 
> .handler 
> .ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
> 	at  
> org 
> .mortbay 
> .jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>
> 	at  
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java: 
> 139)
> 	at org.mortbay.jetty.Server.handle(Server.java:324)
> 	at  
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 
> 505)
> 	at org.mortbay.jetty.HttpConnection 
> $RequestHandler.headerComplete(HttpConnection.java:828)
>
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> 	at  
> org 
> .mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: 
> 395)
>
> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
> 	at org.apache.geronimo.pool.ThreadPool 
> $ContextClassLoaderRunnable.run(ThreadPool.java:344)
> 	at java.util.concurrent.ThreadPoolExecutor 
> $Worker.runTask(ThreadPoolExecutor.java:886)
>
> 	at java.util.concurrent.ThreadPoolExecutor 
> $Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:619)
>
> As a novice I see two options:
>
> a) Use the same xerces as OpenJPA - I've been unsuccessful in  
> locating it though.
> b) Shield the application somehow. I know that EARs have hidden- 
> classes, but reading mailing lists it would see that it does not  
> work with Xerces - why I'm not sure.
>
> How do I get around this issue?
>
> Greetings,
> -- 
> Christian Svensson
> Command Systems