Nguyên nhân ngay lập tức của sự cố là trình điều khiển JDBC đã cố gắng đọc từ một Socket mạng đã bị đóng bởi "đầu bên kia".
Điều này có thể là do một số điều:
-
Nếu máy chủ từ xa đã được định cấu hình (ví dụ:trong tệp "SQLNET.ora") để không chấp nhận các kết nối từ IP của bạn.
-
Nếu url JDBC không chính xác, bạn có thể đang cố kết nối với thứ gì đó không phải là cơ sở dữ liệu.
-
Nếu có quá nhiều kết nối đang mở đến dịch vụ cơ sở dữ liệu, nó có thể từ chối các kết nối mới.
Với các triệu chứng, tôi nghĩ có khả năng xảy ra kịch bản "quá nhiều kết nối". Điều đó cho thấy rằng ứng dụng của bạn đang bị rò rỉ kết nối; tức là tạo kết nối và sau đó không thể (luôn) đóng chúng.