Aktuální odpověď
Tato otázka se stala zastaralou zavedením kódu CloseableDSLContext
, když je AutoCloseable sémantika byla opět odstraněna z obecnějšího DSLContext . Nekompatibilní změna byla implementována v jOOQ 3.14, aby se vyřešil zmatek vyjádřený v této otázce a několika dalších, viz:
https://github.com/jOOQ/jOOQ/issues/10512
Historická odpověď
DSLContext stal se Automaticky uzavíratelný s distribucemi Java 8 jOOQ 3.7. DSLContext.close()
Javadoc metody vysvětluje sémantiku tohoto close() zavolejte:
Pouze zdroje alokované, když jste vytvořili DSLContext bude vydán. Ne zdroje, které jste předali DSLContext . Ve vašem případě v tomto zkuste-se-zdroji nepřidělujete žádné prostředky prohlášení, takže na jeho konci není nic k uvolnění:
try (DSLContext context = DSL.using(configuration); ...) { ... }
To by bylo jiné, pokud byste přidělili nové Připojení přímo tam:
try (DSLContext context = DSL.using("jdbc:h2:~/test", "sa", ""); ...) { ... }
Pokud jde o vaše otázky:
Nic. Jeho životní cyklus musíte řídit sami, protože jOOQ neví nic o vaší strategii životního cyklu připojení.
Ano.