Réponse actuelle
Cette question est devenue obsolète avec l'introduction du CloseableDSLContext
, lorsque le AutoCloseable
la sémantique a de nouveau été supprimée du DSLContext
plus général . Le changement incompatible a été implémenté dans jOOQ 3.14, afin de résoudre la confusion exprimée dans cette question et quelques autres, voir :
https://github.com/jOOQ/jOOQ/issues/10512
Réponse historique
DSLContext
est devenu AutoCloseable
avec les distributions Java 8 de jOOQ 3.7. Le DSLContext.close()
Javadoc de la méthode explique la sémantique de ce close()
appeler :
Seules les ressources allouées lors de la construction du DSLContext
sortira. Pas les ressources que vous avez transmises au DSLContext
. Dans votre cas, vous n'allouez aucune ressource dans ce try-with-resources
déclaration, il n'y a donc rien à publier à la fin :
try (DSLContext context = DSL.using(configuration); ...) { ... }
Ce serait différent si vous allouiez une nouvelle Connection
juste là :
try (DSLContext context = DSL.using("jdbc:h2:~/test", "sa", ""); ...) { ... }
Concernant vos questions :
Rien. Vous devez gérer vous-même son cycle de vie car jOOQ ne sait rien de votre stratégie de cycle de vie de connexion.
Oui.