Текущ отговор
Този въпрос стана неактуален с въвеждането на CloseableDSLContext
, когато AutoCloseable
семантиката беше премахната отново от DSLContext
с по-общо предназначение . Несъвместимата промяна беше приложена в jOOQ 3.14, за да се отговори на объркването, изразено в този въпрос и няколко други, вижте:
https://github.com/jOOQ/jOOQ/issues/10512
Исторически отговор
DSLContext
стана Автоматично затваряне
с дистрибуциите на Java 8 на jOOQ 3.7. DSLContext.close()код>
Javadoc на метода обяснява семантиката на този close()
обаждане:
Само ресурси, разпределени, когато сте конструирали DSLContext
ще бъде издаден. Не ресурси, които сте предали на DSLContext
. Във вашия случай не разпределяте никакви ресурси в този try-with-resources
оператор, така че няма нищо за освобождаване в края му:
try (DSLContext context = DSL.using(configuration); ...) { ... }
Това би било различно, ако сте разпределили нова Връзка
точно там:
try (DSLContext context = DSL.using("jdbc:h2:~/test", "sa", ""); ...) { ... }
Относно вашите въпроси:
Нищо. Вие трябва сами да управлявате неговия жизнен цикъл, тъй като jOOQ не знае нищо за вашата стратегия за жизнения цикъл на връзката.
Да.