PDA

View Full Version : Tomcat 6, Spring breaks context reload


potterd64
Jun 15th, 2007, 04:16 PM
Hi all,
I am deploying a web application to Tomcat 6. When I am working on my servlets and tomcat starts a context reload, I get this error.

SEVERE: Exception processing TLD META-INF/spring-form.tld in JAR at resource path C:\apache-tomcat-6.0.10\webapps\RecycleNowInteractive\WEB-INF\lib\spring.jar in context /RecycleNowInteractive
java.lang.NullPointerException
at oracle.xml.parser.v2.XMLReader.setEncoding( XMLReader.java:879)
at oracle.xml.parser.v2.XMLReader.checkXMLDecl( XMLReader.java:2977)
at oracle.xml.parser.v2.XMLReader.pushXMLReader( XMLReader.java:490)
at oracle.xml.parser.v2.XMLReader.pushXMLReader( XMLReader.java:221)
at oracle.xml.parser.v2.XMLParser.parse( XMLParser.java:201)
at org.apache.tomcat.util.digester.Digester.parse( Digester.java:1562)
at org.apache.catalina.startup.TldConfig.tldScanStrea m( TldConfig.java:507)
at org.apache.catalina.startup.TldConfig.tldScanJar( TldConfig.java:465)
at org.apache.catalina.startup.TldConfig.execute( TldConfig.java:300)
at org.apache.catalina.core.StandardContext.processTl ds( StandardContext.java:4427 )
at org.apache.catalina.core.StandardContext.start( StandardContext.java:4234 )
at org.apache.catalina.core.StandardContext.reload( StandardContext.java:3083 )
at org.apache.catalina.loader.WebappLoader.background Process( WebappLoader.java:404)
at org.apache.catalina.core.ContainerBase.backgroundP rocess( ContainerBase.java:1279)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.run( ContainerBase.java:1560)
at java.lang.Thread.run( Thread.java:595 )
Jun 14, 2007 10:00:35 AM org.apache.catalina.startup.TldConfig tldScanJar
SEVERE: Exception processing TLD META-INF/spring.tld in JAR at resource path C:\apache-tomcat-6.0.10\webapps\RecycleNowInteractive\WEB-INF\lib\spring.jar in context /RecycleNowInteractive
java.lang.NullPointerException
at oracle.xml.parser.v2.XMLReader.setEncoding( XMLReader.java:879)
at oracle.xml.parser.v2.XMLReader.checkXMLDecl( XMLReader.java:2977)
at oracle.xml.parser.v2.XMLReader.pushXMLReader( XMLReader.java:490)
at oracle.xml.parser.v2.XMLReader.pushXMLReader( XMLReader.java:221)
at oracle.xml.parser.v2.XMLParser.parse( XMLParser.java:201)
at org.apache.tomcat.util.digester.Digester.parse( Digester.java:1562)
at org.apache.catalina.startup.TldConfig.tldScanStrea m( TldConfig.java:507)
at org.apache.catalina.startup.TldConfig.tldScanJar( TldConfig.java:465)
at org.apache.catalina.startup.TldConfig.execute( TldConfig.java:300)
at org.apache.catalina.core.StandardContext.processTl ds( StandardContext.java:4427 )
at org.apache.catalina.core.StandardContext.start( StandardContext.java:4234 )
at org.apache.catalina.core.StandardContext.reload( StandardContext.java:3083 )
at org.apache.catalina.loader.WebappLoader.background Process( WebappLoader.java:404)
at org.apache.catalina.core.ContainerBase.backgroundP rocess( ContainerBase.java:1279)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.run( ContainerBase.java:1560)
at java.lang.Thread.run( Thread.java:595 )
Jun 14, 2007 10:00:35 AM org.apache.catalina.startup.ContextConfig processDefaultWebConfig
SEVERE: Parse error in default web.xml
java.lang.NullPointerException
at oracle.xml.parser.v2.XMLReader.setEncoding( XMLReader.java:879)
at oracle.xml.parser.v2.XMLReader.checkXMLDecl( XMLReader.java:2977)
at oracle.xml.parser.v2.XMLReader.pushXMLReader( XMLReader.java:490)
at oracle.xml.parser.v2.XMLReader.pushXMLReader( XMLReader.java:221)
at oracle.xml.parser.v2.XMLParser.parse( XMLParser.java:201)
at org.apache.tomcat.util.digester.Digester.parse( Digester.java:1562)
at org.apache.catalina.startup.ContextConfig.processD efaultWebConfig( ContextConfig.java:695)
at org.apache.catalina.startup.ContextConfig.defaultW ebConfig( ContextConfig.java:632)
at org.apache.catalina.startup.ContextConfig.start( ContextConfig.java:1061)
at org.apache.catalina.startup.ContextConfig.lifecycl eEvent( ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent( LifecycleSupport.java:120 )
at org.apache.catalina.core.StandardContext.start( StandardContext.java:4238 )
at org.apache.catalina.core.StandardContext.reload( StandardContext.java:3083 )
at org.apache.catalina.loader.WebappLoader.background Process( WebappLoader.java:404)
at org.apache.catalina.core.ContainerBase.backgroundP rocess( ContainerBase.java:1279)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.run( ContainerBase.java:1560)
at java.lang.Thread.run( Thread.java:595 )
Jun 14, 2007 10:00:35 AM org.apache.catalina.startup.ContextConfig applicationWebConfig
SEVERE: Parse error in application web.xml file at jndi:/localhost/RecycleNowInteractive/WEB-INF/web.xml
java.lang.NullPointerException
at oracle.xml.util.StringHashtable.create( StringHashtable.java:116)
at oracle.xml.parser.v2.XMLReader.scanQName( XMLReader.java:1930)
at oracle.xml.parser.v2.NonValidatingParser.parseElem ent( NonValidatingParser.java:1276 )
at oracle.xml.parser.v2.NonValidatingParser.parseRoot Element( NonValidatingParser.java:336 )
at oracle.xml.parser.v2.NonValidatingParser.parseDocu ment( NonValidatingParser.java:303 )
at oracle.xml.parser.v2.XMLParser.parse( XMLParser.java:205)
at org.apache.tomcat.util.digester.Digester.parse( Digester.java:1562)
at org.apache.catalina.startup.ContextConfig.applicat ionWebConfig( ContextConfig.java:369)
at org.apache.catalina.startup.ContextConfig.start( ContextConfig.java:1062)
at org.apache.catalina.startup.ContextConfig.lifecycl eEvent( ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent( LifecycleSupport.java:120 )
at org.apache.catalina.core.StandardContext.start( StandardContext.java:4238 )
at org.apache.catalina.core.StandardContext.reload( StandardContext.java:3083 )
at org.apache.catalina.loader.WebappLoader.background Process( WebappLoader.java:404)
at org.apache.catalina.core.ContainerBase.backgroundP rocess( ContainerBase.java:1279)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.processChildren( ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBa ckgroundProcessor.run( ContainerBase.java:1560)
at java.lang.Thread.run( Thread.java:595 )
Jun 14, 2007 10:00:35 AM org.apache.catalina.startup.ContextConfig start
SEVERE: Marking this application unavailable due to previous error(s)
Jun 14, 2007 10:00:35 AM org.apache.catalina.core.StandardContext start
SEVERE: Error getConfigured
Jun 14, 2007 10:00:35 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/RecycleNowInteractive] startup failed due to previous errors
Here's how I setup spring in web.xml
<servlet>
<servlet-name>SpringContextServlet</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServl et</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
In my applicationContext.xml file I setup toplink like this

<!-- TopLink SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.toplink.LocalSessionFactor yBean">
<property name="configLocation" value="toplink-sessions.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>

<!-- Transaction manager for a single TopLink SessionFactory (alternative to JTA) -->
<bean id="transactionManager" class="org.springframework.orm.toplink.TopLinkTransaction Manager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>


The Toplink session factory needs Oracle's xmlparserv2.jar, but that's what is causing my context reload error. When I take the SpringContextServlet out of my web.xml and remove xmlparserv2.jar from my classpath I can debug my servlets just fine. I'd like to use Spring and Toplink though with Tomcat 6. Can anyone help me?
Thanks.