Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Koneksi database aman utas Java

Saya tidak berpikir bahwa membuat koneksi database thread-safe adalah praktik umum. Biasanya yang Anda inginkan adalah:

  • Serialisasikan akses ke beberapa bagian servlet Anda, sehingga tidak ada lebih dari satu kode yang mengeksekusi servlet pada satu waktu (misalnya, menerapkan SingleThreadModel antarmuka).
  • Mengunci tabel / halaman tabel / baris tertentu sehingga Anda dapat beroperasi pada beberapa tupel tertentu (dengan mengubah tingkat isolasi database).
  • Menggunakan penguncian optimis untuk mendeteksi baris yang dimodifikasi dalam tabel (menggunakan beberapa atribut referensi tabel untuk memeriksa apakah versi saat ini sama dengan yang ada di tabel).

AFAIK, penggunaan khas ThreadLocal<Connection> adalah menyimpan koneksi database unik per utas, sehingga koneksi yang sama dapat digunakan dalam metode yang berbeda dalam logika bisnis Anda tanpa perlu meneruskannya sebagai parameter setiap kali. Karena implementasi wadah servlet umum menggunakan utas untuk memenuhi permintaan HTTP, maka dua permintaan yang berbeda dijamin menggunakan dua koneksi database yang berbeda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringatan:mysql_query() mengharapkan parameter 2 menjadi sumber daya, boolean diberikan di C:\wamp\www\pyrll\emlhome.php pada baris 15

  2. Karakter Melarikan Diri Seperti $ dan % | MySQL dan PHP

  3. Praktik terbaik untuk struktur basis data voting komentar

  4. Mengapa kueri dieksekusi dari meja kerja mysql membutuhkan waktu lebih lama daripada mengeksekusinya langsung dari cli mysql?

  5. Cara memperbarui grafik menggunakan matplotlib