Oto możliwości, które mogą być przyczyną wyjątku:
-
Problem z siecią:To jest sieć między bazą danych a serwerem aplikacji powodująca zerwanie połączenia fizycznego po pewnym czasie. Jest to prawdopodobnie spowodowane firewallem działającym za siecią, który jest skonfigurowany do zabijania połączeń db po określonym czasie. Można rozważyć obejście polegające na utrzymywaniu połączenia przez cały czas, po prostu zmieniając konfigurację serwera aplikacji. W przypadku Tomcat możesz spróbować dodać
validationQuery="select 'validationQuery' from dua
lw pliku konfiguracyjnym źródła danych Tomcat (context.xml) -
Połączenia z serwerem bazy danych są resetowane, a klient nie jest powiadamiany przez sterownik bazy danych. Problem w tym przypadku polega na tym, że sterownik Oracle odkrywa, że jego gniazdo do DBMS w jakiś sposób (może znowu zapora?) zostało zamknięte po drugiej stronie. Jako rozwiązanie można rozważyć ustawienie limitu czasu połączenia (w puli) krótszego niż limit czasu serwera sieci/DB.