Hi, I'm hoping someone else may have experienced this problem and knows what to do.
My web app works perfectly fine running on Tomcat 6.0.14, but when I switch to 6.0.16, I get postgres database connection problems. (Note I'm running tomcat via Eclipse 3.3.2 on Windows Vista, although the same problem happens when running on an XP machine.) Here is what happens when I start up tomcat 6.0.16 (note: the SetPropertiesRule warning message does not appear when starting the exact same webapp in tomcat 6.0.14) I don't know if this is part of the problem, but I thought I'd pass it on just in case: Jul 24, 2008 11:21:11 AM org.apache.tomcat.util.dig ester.SetPropertiesRule begin WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.e clipse.jst.jee.server:MesEduSchoolsProject' did not find a matching property. Jul 24, 2008 11:21:11 AM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production envi ronments was not found on the java.library.path: C:\Program Files\Java\jre1.6.0_03\bin;.;C:\Windows\ Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Java\jre1.6.0_07\bin\client;C:\Program Files\Java\jre1.6.0_07\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\ ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\QuickTime\QTSystem\ Jul 24, 2008 11:21:11 AM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Jul 24, 2008 11:21:11 AM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1395 ms Jul 24, 2008 11:21:11 AM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Jul 24, 2008 11:21:11 AM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.16 Jul 24, 2008 11:21:12 AM org.apache.catalina.core.StandardContext addApplicationListener INFO: The listener "teska.backend.SessionCounter" is already configured for this context. The duplic ate definition has been ignored. Jul 24, 2008 11:21:13 AM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 Jul 24, 2008 11:21:13 AM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 Jul 24, 2008 11:21:13 AM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/55 config=null Jul 24, 2008 11:21:13 AM org.apache.catalina.startup.Catalina start INFO: Server startup in 1658 ms I then run into further problems when I try to open my webapp in a browser and access a page that pulls data in from my remote postgres 8.3.0 database: SchoolManager.java: readSchoolsFromDB(): Error while reading all schools org.postgresql.util.PSQLEx ception: Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY. at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkScrollable(AbstractJdbc2ResultSet.java:206) at org.postgresql.jdbc2.AbstractJdbc2ResultSet.beforeFirst(AbstractJdbc2ResultSet.java:278) at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.beforeFirst(DelegatingResultSet.java:320) at teska.lookup.SchoolManager.readSchoolsFromDB(SchoolManager.java:64) at teska.lookup.SchoolManager.initializeSchoolList(SchoolManager.java:50) at teska.lookup.SchoolManager.<init>(SchoolManager.java:22) at teska.lookup.SchoolManager.<clinit>(SchoolManager.java:17) at org.apache.jsp.initialize_jsp._jspService(initialize_jsp.java:116) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290 ) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) PSQLException: Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY. null null I've managed to fix this error, at least I think, by doing the following in my sqlQueryBean class: I changed: stmt = myConn.prepareStatement(sqlStatement); to: stmt = myConn.prepareStatement(sqlStatement, ResultSet.TYPE_SCROLL_SENSITIVE); After doing that, however I get the another database error that I can't figure out what is causing it or why it is only showing up when I use tomcat 6.0.16 and not when I use tomcat 6.0.14. Here is the new error: SchoolManager.java: readSchoolsFromDB(): Error while reading all schools org.postgresql.util.PSQLException: Returning autogenerated keys is not supported. at org.postgresql.jdbc3.AbstractJdbc3Connection.prepareStatement(AbstractJdbc3Connection.java:352) at org.apache.tomcat.dbcp.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:458) at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(Poolin gDataSource.java:394) at teska.dbconn.sqlQueryBean.query(sqlQueryBean.java:67) at teska.dbconn.sqlQueryBean.query(sqlQueryBean.java:53) at teska.lookup.SchoolManager.readSchoolsFromDB(SchoolManager.java:62) at teska.lookup.SchoolManager.initializeSchoolList(SchoolManager.java:50) at teska.lookup.SchoolManager.<init>(SchoolManager.java:22) at teska.lookup.SchoolManager.<clinit>(SchoolManager.java:17) at org.apache.jsp.initialize_jsp._jspService(initialize_jsp.java:116) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290 ) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) PSQLException: Returning autogenerated keys is not supported. null null SchoolManager.java: readSchoolsFromDB(): Error Disconnecting from the database java.lang.NullPointerException at teska.dbconn.sqlQueryBean.cleanup(sqlQueryBean.java:168) at teska.dbconn.connPGDBBean.closeConn(connPGDBBean.java:57) at teska.lookup.SchoolManager.readSchoolsFromDB(SchoolManager.java:86) at teska.lookup.SchoolManager.initializeSchoolList(SchoolManager.java:50) at teska.lookup.SchoolManager.<init>(SchoolManager.java:22) at teska.lookup.SchoolManager.<clinit>(SchoolManager.java:17) at org.apache.jsp.initialize_jsp._jspService(initialize_jsp.java:116) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290 ) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) NullPointerException: null null Here is the code in my SchoolManager.java that calls SqlQueryBean.java to process the sql query: public static void readSchoolsFromDB(){ sqlQueryBean sqlQB = new sqlQueryBean(); try { // connect to the database sqlQB.makeConnection(); // SQL string String sql = "SELECT sid, name, school_abr, school_district FROM schools" ; // perform the query on the database ResultSet list = sqlQB.query(sql); // do stuff } catch (Exception e){ System.out.println("SchoolManager.java: readSchoolsFromDB(): Error while reading all schools"); System.out.println(ExceptionUtils.getFullStackTrace(e)); System.out.println(ExceptionUtils.getRootCauseMessage(e)); System.out.println(ExceptionUtils.getRootCause(e)); System.out.println(ExceptionUtils.getCause(e)); } finally { try { //close the connection to the database sqlQB.closeConn(); } catch(java.lang.Exception e2){ System.out.println("SchoolManager.java: readSchoolsFromDB(): Error Disconnecting from the database"); System.out.println(ExceptionUtils.getFullStackTrace(e2)); System.out.println(ExceptionUtils.getRootCauseMessage(e2)); System.out.println(ExceptionUtils.getRootCause(e2)); System.out.println(ExceptionUtils.getCause(e2)); } } } Here is the code in my SqlQueryBean.java: PreparedStatement stmt = null; public ResultSet query(String sqlStatement) throws Exception { stmt = myConn.prepareStatement(sqlStatement, ResultSet.TYPE_SCROLL_SENSITIVE); return (stmt.executeQuery()); } My understanding was this error normally arises when trying to send 2 sql statements at once to the database (ex. and insert statement followed by a select statement to get the auto-generated key. However, as you can see, this is just a normal select statement, so I'm not clear what is happening). Does anyone have any ideas? Again, all of my code & database connections work perfectly in 6.0.14 (I don't even need to add the SCROLL_SENSITIVE change). If anyone has any ideas, I would be eternally greatful! Thanks in advance, Courtenay --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]