Mais ! Je n'arrive pas a avoir un comportement stable avec la classe ResultSet :
- Parfois, tous les records sont retournes. Ok !!!
- Parfois, 0 (Zero) record est retournes. Too bad !
- Parfois, quelques uns sont retournes. No good !
Et, quand tous les records ne sonpas retournes, j'ai une exceptiondu type :
java.sql.SQLException: Operation not allowed after ResultSet closed
at com.mysql.jdbc.ResultSet.checkClosed(ResultSet.java:3601)
at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:3614)
....
OU
java.lang.NullPointerException
at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:3625)
at com.mysql.jdbc.ResultSet.getString(ResultSet.java:1772)
at org.apache.commons.dbcp.DelegatingResultSet.getString(DelegatingResultSet.java:137)
....
Ce que mon application fait :
- Inserers des recors dans une table (strings, dates, integers).
- Faire un select des records inseres et les mettre dans un Resultset.
- J'utilise ResultSet.getString() pour tous les types de champs.
Voir la configuration de server.xml (Pooling de TOMCAT) :
<name>maxActive</name>
<value>10</value>
<name>maxIdle</name>
<value>0</value>
<name>maxWait</name>
<value>15000</value>
Ce que je ne suspecte pas :
- Avoir oublie de faire close de connection, statement ou Resultset.
- Manipuler des variables avec valeur "null".