Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Vấn đề hết thời gian kết nối Basicdatasource (sử dụng mysql)

Những điều bạn có thể thử:

  1. setMaxWait(-1) trên BasicDataSource. Điều đó cho biết nó phải đợi kết nối vô thời hạn.

  2. Kiểm tra xem wait_timeout trên máy chủ MySQL của bạn được đặt thành 8h mặc định.

  3. Đặt ?autoReconnect=true trên URL JDBC của bạn

  4. setTestOnBorrow(true) trên BasicDataSource. Điều này sẽ ngăn nó phân phối các kết nối cũ nhưng sẽ thêm chi phí cho ứng dụng của bạn (mặc dù nếu bạn đã có các truy vấn đơn dài như vậy, bạn có thể sẽ không nhận thấy phần đó).

Nói chung, tôi thấy việc tiếp tục sử dụng lại kết nối là một ý tưởng tồi. Đối với tôi, quan điểm của việc có một hồ bơi là tôi không cần phải làm điều đó.

Các truy vấn của bạn có phải là giao dịch không? Một số truy vấn thực sự dài có đang khóa một bảng chính không?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận hồ sơ cho thời gian hẹn hò tối thiểu trong ngày của mỗi người

  2. MySQL Group_Concat () so với T-SQL String_Agg ()

  3. Bắt tự động hoàn thành jQuery để hoạt động với nguồn PHP

  4. Làm thế nào để kiểm tra (hoặc thậm chí thiết lập) đối chiếu trong tệp mdb (truy cập ms)?

  5. cập nhật hai bảng trong một truy vấn trong mysql