Bezpośrednią przyczyną problemu jest próba odczytu przez sterownik JDBC z gniazda sieciowego, które zostało zamknięte przez „drugi koniec”.
Może to wynikać z kilku rzeczy:
-
Jeśli zdalny serwer został skonfigurowany (np. w pliku "SQLNET.ora") tak, aby nie akceptował połączeń z twojego IP.
-
Jeśli adres URL JDBC jest niepoprawny, możesz próbować połączyć się z czymś, co nie jest bazą danych.
-
Jeśli jest zbyt wiele otwartych połączeń z usługą bazy danych, może ona odrzucić nowe połączenia.
Biorąc pod uwagę objawy, myślę, że najbardziej prawdopodobny jest scenariusz „zbyt wielu połączeń”. Sugeruje to, że twoja aplikacja przecieka połączenia; tj. tworzenie połączeń, a następnie nieumiejętność (zawsze) ich zamykania.