A seguir, podem ser as possibilidades que podem estar causando a exceção:
-
Problema de rede:Essa é a rede entre o banco de dados e o servidor de aplicativos, causando a queda da conexão física após um período de tempo. Provavelmente é devido a um firewall rodando atrás da rede que está configurado para matar conexões db após um período de tempo especificado. Você pode considerar uma solução alternativa para manter a conexão ativa o tempo todo simplesmente reconfigurando seu servidor de aplicativos. Para o Tomcat, você pode tentar adicionarvalidationQuery="select 'validationQuery' from dua
l no arquivo conf da fonte de dados do Tomcat (context.xml)
-
As conexões com o servidor de banco de dados estão sendo redefinidas e o cliente não é notificado pelo driver de banco de dados. O problema neste caso é que o driver Oracle está descobrindo que o soquete para o DBMS de alguma forma (firewall novamente, talvez?) foi fechado pela outra extremidade. Você pode considerar configurar seu tempo limite de conexão (no pool) mais curto que o tempo limite do servidor de rede/DB como uma solução.