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.