J'ai le code suivant en Java:A quoi sert Connection.isClosed() de JDBC, et pourquoi Snaq DBPool se comporte-t-il mal?
if(!conn.isClosed())
{
conn.close();
}
lieu de travail, je suis récompensé par:
java.sql.SQLException: Connexion déjà fermé
Mon objet de connexion est un Snaq. db.CacheConnection
J'ai vérifié les JavaDocs pour isClosed, et ils déclarent que:
Cette méthode ne peut généralement pas être appelée pour déterminer si une connexion à une base de données est valide ou non valide. Un client typique peut déterminer qu'une connexion est invalide en attrapant toutes les exceptions qui pourraient être levées lorsque une opération est tentée.
Mes questions sont les suivantes:
1) Qu'est-ce que le bien est isClosed JDBC() de toute façon? Depuis quand utilisons-nous Exceptions en Java pour vérifier la validité?
2) Quel est le modèle correct pour fermer une base de données? Devrais-je simplement fermer et avaler des exceptions?
3) Toute idée pourquoi SnaqDB fermera la connexion? (Mon back-end est un Postgres 8.3)