Tôi đã trải qua nhiều giải pháp và vấn đề của tôi đã được giải quyết nhưng sau một thời gian kết nối hết thời gian chờ hoặc ngắt kết nối. Sau 2 ngày tôi nhận được giải pháp giải quyết được sự cố của mình.
nhiều giải pháp đề nghị sử dụng autoReconnect = true nhưng khi tôi đi qua các tài liệu. Tôi thấy các văn bản sau đây trong nguồn mô tả các tham số autoReconnect:
Việc sử dụng tính năng này không được khuyến khích, bởi vì nó có tác dụng phụ liên quan đến trạng thái phiên và dữ liệu nhất quán
Khi tôi nhìn vào mã Hibernate. Cơ chế kết nối cơ bản của Hibernate không hỗ trợ kết nối lại, người ta phải sử dụng nhóm kết nối H3C0 (bản thân nó không phải lúc nào cũng hỗ trợ kết nối lại). Tuy nhiên, một khi người ta sử dụng H3C0, hành vi mặc định có vẻ như là để xử lý yêu cầu, nếu kết nối chết thì người dùng sẽ thấy và lỗi - nhưng ít nhất nó kết nối lại với yêu cầu tiếp theo. Tôi cho rằng một lỗi là tốt hơn so với các lỗi vô hạn, nhưng vẫn không tốt bằng 0 lỗi. Nó chỉ ra một trong những nhu cầu optiontestConnectionOnCheckout- mà tài liệu không đề nghị bởi vì kiểm tra kết nối trước khi một yêu cầu có thể dẫn đến hiệu suất thấp hơn. Chắc chắn phần mềm trước hết phải làm việc, chỉ thứ hai là nó phải hoạt động nhanh.
Vì vậy, để tóm tắt, để có được một kết nối để “làm việc” (mà tôi xác định là bao gồm cả xử lý giảm các kết nối bằng cách kết nối lại mà không có lỗi): Trong “hibernate.cfg.xml”:
<!-- hibernate.cfg.xml -->
<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">20</property>
<property name="c3p0.timeout">1800</property>
<property name="c3p0.max_statements">50</property>
<!-- no "connection.pool_size" entry! -->
Sau đó tạo một tập tin “c3p0.properties” mà phải nằm trong thư mục gốc của classpath (tức là không có cách nào để ghi đè lên nó cho các bộ phận đặc biệt của ứng dụng):
c3p0.properties
C3P0.testConnectionOnCheckout = true
Nếu giải pháp này không có tác dụng hơn có nhiều giải pháp khả thi: -
1. Add
<property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
Also dont forget to place the c3p0-0.9.1.jar in the classpath.
2. Instead of using that c3p0.properties file, couldn't you just use this property in your hibernate.cfg.xml:
<property name="hibernate.c3p0.validate">true</property>
Also checkout the last post on this page:
https://forum.hibernate.org/viewtopic.php?p=2399313
If all these not work than go [more][1] and read in detail
[1]: http://hibernatedb.blogspot.in/2009/05/automatic-reconnect-from-hibernate-to.html
Xin giúp https://stackoverflow.com/questions/47011116/the-last-packet-sent- thành công-to-the-server-là-70-400-003-milliseconds-ag – Tony