La causa immediata del problema è che il driver JDBC ha tentato di leggere da un socket di rete che è stato chiuso "dall'altra parte".
Ciò potrebbe essere dovuto ad alcune cose:
-
Se il server remoto è stato configurato (es. nel file "SQLNET.ora") per non accettare connessioni dal tuo IP.
-
Se l'URL JDBC non è corretto, potresti tentare di connetterti a qualcosa che non è un database.
-
Se ci sono troppe connessioni aperte al servizio database, potrebbe rifiutare nuove connessioni.
Dati i sintomi, penso che lo scenario "troppe connessioni" sia il più probabile. Ciò suggerisce che la tua applicazione perde connessioni; ovvero creare connessioni e quindi non riuscire a chiuderle (sempre).