Aktuelle Antwort
Diese Frage wurde mit der Einführung des Codes AutoCloseable Semantik wurde wieder aus dem allgemeineren DSLContext entfernt . Die inkompatible Änderung wurde in jOOQ 3.14 implementiert, um die in dieser Frage und einigen anderen ausgedrückte Verwirrung zu beseitigen, siehe:
https://github.com/jOOQ/jOOQ/issues/10512
Historische Antwort
DSLContext wurde AutoCloseable mit den Java-8-Distributionen von jOOQ 3.7. Der DSLContext.close()
Javadoc der Methode erklärt die Semantik dieses close() Aufruf:
Nur Ressourcen, die beim Erstellen des DSLContext zugewiesen wurden wird veröffentlicht. Keine Ressourcen, die Sie an DSLContext übergeben haben . In Ihrem Fall weisen Sie in diesem try-with-resources keine Ressourcen zu -Anweisung, sodass am Ende nichts veröffentlicht werden muss:
try (DSLContext context = DSL.using(configuration); ...) { ... }
Dies wäre anders, wenn Sie eine neue Verbindung zuweisen würden genau dort:
try (DSLContext context = DSL.using("jdbc:h2:~/test", "sa", ""); ...) { ... }
Zu Ihren Fragen:
Nichts. Sie müssen den Lebenszyklus selbst steuern, da jOOQ nichts über Ihre Verbindungslebenszyklusstrategie weiß.
Ja.