Est-ce que BoneCP (ou tout autre pool) ferme les instructions de connexion lorsque la connexion est renvoyée au pool? Si je comprends bien, il n'appelle pas la méthode de fermeture de la connexion réelle, donc il n'y a pas de fermeture automatique de la déclaration. Donc, ferme-t-il les déclarations d'une autre manière ou dois-je les fermer manuellement?Est-ce que BoneCP (ou tout autre pool) ferme les instructions de connexion lorsque la connexion est renvoyée au pool?
Répondre
La spécification JDBC n'est pas très claire sur ce qui devrait se produire en cas de fermeture de connexion normale, quel que soit le pool que vous utilisez, vous devez toujours veiller à fermer manuellement les instructions. Réfléchissez à ce qui arriverait à votre application si vous choisissez de passer à un autre pool à l'avenir qui ne correspond pas à vos attentes. En ce qui concerne BoneCP, la réponse est non, il ne fermera pas vos déclarations pour vous, bien qu'il puisse être configuré pour fermer vos connexions si vous oubliez. C'est pour des raisons de performances, car certains pilotes JDBC fermeront toutes les instructions actives en interne si vous fermez la connexion. Toutefois, BoneCP fermera toutes les instructions mises en cache si vous avez activé la mise en cache des instructions.
EDIT: À partir de la version 0.8.0, le support a été ajouté pour fermer les instructions non fermées (+ trace de la pile d'impression de l'emplacement où l'instruction a été ouverte si vous le souhaitez).
BoneCP (0.8.0 -RC3), il y a 2 résultats possibles,
fermer avec une certaine configuration pour non-déclaration en cache que
non fermer, peu importe la façon dont vous configurez pour l'instruction en cache même si vous appelez le statement.close() explicitement.
Il existe une classe StatementCache pour mettre en cache l'état callableStatement & prepareStatement. La valeur par défaut est désactivée. Vous devez appeler BoneCPConfig.setStatementsCacheSize() avec le paramètre> 0 pour l'activer. Après avoir activé le cache,
1 BoneCP.Statement.Close() ignorera la fermeture de l'instruction sous-jacente si elle est mise en cache.
public void close() throws SQLException {
this.connectionHandle.untrackStatement(this);
this.logicallyClosed.set(true);
if (this.logStatementsEnabled){
this.logParams.clear();
this.batchSQL = new StringBuilder();
}
if (this.cache == null || !this.inCache){ // no cache = throw it away right now
this.internalStatement.close();
}
}
2 BoneCP.Connection.close() Est-ce tout simplement effacer le cache via la fonction "clearStatementCaches()"
Les bonnes nouvelles sont pilote JDBC MYSQL, connecteur/J, fermera ses portes tous les instructions ouvertes lorsque vous fermez la connexion via la fonction "closeAllOpenStatements()"
- 1. pool de connexion sql
- 2. pool de connexion Weblogic
- 3. Connexion de pool dans .NET
- 4. Connexion de pool dans asp.net
- 5. pool de connexion veille prolongée
- 6. Pool de connexion Java sans JNDI?
- 7. Question de pool de connexion ASP.NET
- 8. Mise en pool de connexion Hibernate/mysql
- 9. Mise en pool de connexion tomcat
- 10. Surveillance de pool de connexion JDBC GlassFish
- 11. Évitez de délai de connexion lorsque vous utilisez plusieurs threads et pool de connexion
- 12. Pool de connexion à la base de données JBoss
- 13. Pool de connexion DB simultané dans Haskell
- 14. Taille minimale du pool de connexion
- 15. Hibernate - Connexion non fermée dans le pool de connexion
- 16. choisir un pool de connexion db
- 17. différence entre la connexion partageable et non échangeable dans le pool de connexion jdbc?
- 18. Paramètres de la session de pool de connexion
- 19. Comment augmenter la taille du pool de connexion pour Twisted?
- 20. Norm.MongoException: Délai de connexion essayant d'obtenir la connexion du pool de connexion
- 21. comment définir la taille du pool de connexion Oracle?
- 22. wcf connexion lente et nombre de connexions dans le pool
- 23. Le pool de connexion Tomcat 6 devient farfelu lorsque CMS GC est utilisé
- 24. Le délai écoulé avant l'obtention d'une connexion du pool
- 25. Tables temporaires SQL Server et pool de connexion
- 26. Comment résoudre un problème de pool de connexion?
- 27. Définir la taille du pool de connexion dans iis 7 (pas par chaîne de connexion)
- 28. ADO.NET (ODP.NET) et même pool de connexion pour la connexion des différents clients
- 29. Connexion non fermée - Mise au point du pool de connexions SQL Server
- 30. Pool de threads similaire au pool multi-traitement?