I'm programming applets & servlets on Tomcat and MySQL with my desktop (PIII500 - Win2000 - 512Mo).
- jakarta-tomcat-4.1.27-LE-jdk14
- mysql-4.0.14b
- j2sdk1.4.2
- mysql-connector-java-3.0.9-stable
- Tomcat DBCP (collections-2.1 dbcp-1.0 pool-1.0.1)
But ! I can not have stable behaviour with ResultSet :
- Sometimes all records are returned. Fine !!!
- Sometimes, 0 (Zero) record is returned. Too bad !
- Sometimes, some (but not all) records are returned. Bad !
And, When all records are not returned, one of the two following exception types is raised :
java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.jdbc.ResultSet.checkClosed(ResultSet.jav a:3601)
at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.jav a:3614)
....
OR
java.lang.NullPointerException
at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.jav a:3625)
at com.mysql.jdbc.ResultSet.getString(ResultSet.java: 1772)
at org.apache.commons.dbcp.DelegatingResultSet.getStr ing(DelegatingResultSet.java:137)
....
What my application does :
- Inserting rows in a table (strings, dates, integers).
- And the, selecting table in a Resultset for gettind data
- I use ResultSet.getString() for getting all fields.
Database Pooling configuration in server.xml file :
<parameter>
<name>maxActive</name>
<value>10</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>0</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>15000</value>
</parameter>
What I DO NOT suspect :
- Having not closed connection, statement or cursor.
- Doing some computation with null variables.
Thanks in advance for your help.
Toum.