Ik heb tot nu toe 2 connection pooling libraries gebruikt; DBPool en c3p0.
De programma's die ik schrijf bevatten allemaal een klasse Database die alle queries uitvoert en de connection pooling uitvoert/beheert.
Nu ben ik met beide libraties op het volgende probleem tegengekomen; bij het opvragen van een ResultSet geeft de klasse Database het ResultSet terug. Helaas mag Database dan niet meteen de gemaakte verbinding verbreken, anders krijg ik een error bij het doorlopen van de resultset. Namelijk "Operation not allowed after ResultSet closed".
Nu heb ik zelf een wat omslachtige oplossing bedacht; de verbindingen die gemaakt worden om een ResultSet op te vragen stop ik in een array, waarna ik met een Timer de verbindingen in de array sluit als ze ouder zijn dan 10 seconden.
Opzich werkt dit goed, geen errors, tenzij de while(rs.next()) loop langer dan 10 seconden bezig is.
Echter heb ik toch het gevoel dat dit makkelijker moet kunnen. Suggesties?
De programma's die ik schrijf bevatten allemaal een klasse Database die alle queries uitvoert en de connection pooling uitvoert/beheert.
Nu ben ik met beide libraties op het volgende probleem tegengekomen; bij het opvragen van een ResultSet geeft de klasse Database het ResultSet terug. Helaas mag Database dan niet meteen de gemaakte verbinding verbreken, anders krijg ik een error bij het doorlopen van de resultset. Namelijk "Operation not allowed after ResultSet closed".
Nu heb ik zelf een wat omslachtige oplossing bedacht; de verbindingen die gemaakt worden om een ResultSet op te vragen stop ik in een array, waarna ik met een Timer de verbindingen in de array sluit als ze ouder zijn dan 10 seconden.
Opzich werkt dit goed, geen errors, tenzij de while(rs.next()) loop langer dan 10 seconden bezig is.
Echter heb ik toch het gevoel dat dit makkelijker moet kunnen. Suggesties?