Rất có thể bạn là một trong hai
- Mở các ổ cắm và không đóng chúng. Theo thời gian, số lượng ổ cắm mở quá lớn và ứng dụng bị treo.
- Bạn đang mở quá nhiều ổ cắm cùng lúc. Có lẽ vì bạn có rất nhiều chủ đề.
Tôi sẽ đoán nó là # 1. Kiểm tra lại mã của bạn và đảm bảo rằng bạn đóng tất cả các đối tượng Connection và đối tượng ResultSet.
Nếu bạn đang gặp phải # 2 thì bạn có thể muốn xem xét sử dụng ít chủ đề hơn (sau một thời điểm nhất định có quá nhiều chủ đề gây hại nhiều hơn là có lợi) hoặc sử dụng nhóm kết nối như c3p0 điều này sẽ chỉ tạo ra một số lượng kết nối nhất định và cho phép các chủ đề của bạn chia sẻ chúng. Nói chung, sử dụng c3p0 là một ý tưởng hay và cũng sẽ cho phép bạn phát hiện số 1 nhanh hơn.
Tùy chọn thứ ba là sử dụng phần trừu tượng ở mức cao hơn như JPA hoặc JDO sẽ đảm nhận việc quản lý kết nối cho bạn.