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.