Risposta attuale
Questa domanda è diventata obsoleta con l'introduzione di CloseableDSLContext
, quando AutoCloseable
la semantica è stata rimossa di nuovo dal più generico DSLContext
. La modifica incompatibile è stata implementata in jOOQ 3.14, al fine di affrontare la confusione espressa in questa domanda e in poche altre, vedi:
https://github.com/jOOQ/jOOQ/issues/10512
Risposta storica
DSLContext
è diventato AutoCloseable
con le distribuzioni Java 8 di jOOQ 3.7. Il DSLContext.close()
il Javadoc del metodo spiega la semantica di questo close()
chiama:
Solo le risorse allocate quando hai costruito il DSLContext
sarà rilasciato. Non risorse che hai passato a DSLContext
. Nel tuo caso, non stai allocando alcuna risorsa in questo try-with-resources
dichiarazione, quindi non c'è nulla da rilasciare alla fine:
try (DSLContext context = DSL.using(configuration); ...) { ... }
Sarebbe diverso se assegnassi una nuova Connection
proprio lì:
try (DSLContext context = DSL.using("jdbc:h2:~/test", "sa", ""); ...) { ... }
Riguardo alle tue domande:
Niente. Devi governarne tu stesso il ciclo di vita poiché jOOQ non sa nulla della tua strategia del ciclo di vita della connessione.
Sì.