I have a Struts / Tomcat 5 setup and I use the same JDK 1.4.1 to compile classes as 
Tomcat uses to run.

I have the following code in the action class

DBConnectionFactory db = 
(DBConnectionFactory)getServlet().getServletContext().getAttribute("db");
Connection c = db.getConnection();
c.setCatalog("cat");
Statement s = c.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM Users");
...     
c.close();
s.close();
rs.close();

And in the JSP

DBConnectionFactory db = (DBConnectionFactory)application.getAttribute("db");
Connection c = db.getConnection();
c.setCatalog("cat");
Statement s = c.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM Users");
...     
c.close();
s.close();
rs.close();

The JSP version runs just fine and I get a list of users. In the class, I get the 
following error, and I seem to have narrowed it down to using the ResultSet. I have 
recompiled ALL my code with the same JDK that Tomcat is using. In any case, it works 
in the JSP. Any ideas?

ResultSet rs = s.executeQuery("SELECT * FROM Users");

SEVERE: An exception or error occurred in the container during the request processing
java.lang.IncompatibleClassChangeError: org.apache.log4j.spi.ThrowableInformation
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1265)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1225)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
        at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:145)
        at org.apache.log4j.Category.forcedLog(Category.java:372)
        at org.apache.log4j.Category.log(Category.java:864)
        at org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:192)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:287)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:974)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:205)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:974)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:177)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:974)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:562)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:974)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:203)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:637)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:488)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:568)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:631)
        at java.lang.Thread.run(Thread.java:536)


<FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE> 
-------------------------------------------------------
QAS Ltd.
Developers of QuickAddress Software
<a href="http://www.qas.com";>www.qas.com</a>
Registered in England: No 2582055
Registered in Australia: No 082 851 474
-------------------------------------------------------
</FONT>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to