Respuesta actual
Esta pregunta quedó obsoleta con la introducción del CloseableDSLContext
, cuando el AutoCloseable
la semántica se eliminó nuevamente del DSLContext
de uso más general . El cambio incompatible se implementó en jOOQ 3.14, para abordar la confusión expresada en esta pregunta y algunas otras, consulte:
https://github.com/jOOQ/jOOQ/issues/10512
Respuesta histórica
DSLContext
se convirtió en AutoCloseable
con las distribuciones Java 8 de jOOQ 3.7. El DSLContext.close()
El Javadoc del método explica la semántica de este close()
llamar:
Solo los recursos asignados cuando construiste el DSLContext
será realizado. No los recursos que pasó al DSLContext
. En su caso, no está asignando ningún recurso en este try-with-resources
declaración, por lo que no hay nada que publicar al final:
try (DSLContext context = DSL.using(configuration); ...) { ... }
Esto sería diferente si asignara una nueva Connection
justo ahí:
try (DSLContext context = DSL.using("jdbc:h2:~/test", "sa", ""); ...) { ... }
Con respecto a sus preguntas:
Nada. Debe controlar su ciclo de vida usted mismo, ya que jOOQ no sabe nada sobre su estrategia de ciclo de vida de conexión.
Sí.