PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kapan Koneksi ditutup saat memanggil .close() JooQ DSLContext, jika ada?

Jawaban saat ini

Pertanyaan ini menjadi usang dengan diperkenalkannya CloseableDSLContext , ketika AutoCloseable semantik telah dihapus lagi dari DSLContext untuk tujuan yang lebih umum . Perubahan yang tidak kompatibel diterapkan di jOOQ 3.14, untuk mengatasi kebingungan yang diungkapkan dalam pertanyaan ini dan beberapa pertanyaan lainnya, lihat:

https://github.com/jOOQ/jOOQ/issues/10512

Jawaban bersejarah

DSLContext menjadi AutoCloseable dengan distribusi Java 8 dari jOOQ 3.7. DSLContext.close() metode Javadoc menjelaskan semantik close() . ini hubungi:

Hanya sumber daya yang dialokasikan saat Anda membuat DSLContext Akan dirilis. Bukan sumber daya yang Anda berikan ke DSLContext . Dalam kasus Anda, Anda tidak mengalokasikan sumber daya apa pun dalam try-with-resources pernyataan, jadi tidak ada yang harus dirilis di akhir:

try (DSLContext context = DSL.using(configuration); ...) { ... }

Ini akan berbeda jika Anda mengalokasikan Connection baru di sana:

try (DSLContext context = DSL.using("jdbc:h2:~/test", "sa", ""); ...) { ... }

Mengenai pertanyaan Anda:

Tidak ada apa-apa. Anda harus mengatur sendiri siklus hidupnya karena jOOQ tidak tahu apa-apa tentang strategi siklus hidup koneksi Anda.

Ya.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:tabel hanya-baca

  2. Mengelola peran dan atribut peran di PostgreSQL

  3. Pengodean Teks UTF-8 / Unicode dengan RPostgreSQL

  4. Rails:PG::UndefinedTable:ERROR:relasi ... tidak ada

  5. SQL bergabung dengan tanggal terakhir