Sto attraversando un problema con il pooling di connessioni Oracle tramite OracleConnectionCacheImpl. Quando mi collego a un pool di connessioni sul mio server di database (Oracle 10g) tramite il driver sottile, tutto funziona correttamente fino a dopo un tempo non specificato, la connessione db viene interrotta (probabilmente a causa di connessioni inattive?) E viene visualizzato un messaggio di errore:Come ricollegare automaticamente il pool di connessioni Oracle dopo l'interruzione della connessione?
Connessione chiusa.
L'aggiornamento della pagina e il nuovo tentativo di connessione ricollegano il database, quindi non sembra essere un problema con la rete o il database. È un modo per il pool di connessioni Oracle di convalidare la propria connessione e riconnettersi se la connessione nel pool è morta per qualsiasi motivo?
Sto usando Apache Tomcat 6.0.18, aggiornamento di Java EE6 11.
(Sembra che ci sia una funzione di ping nel driver sottile Oracle. Fa quell'aiuto e dove posso trovarlo?)
1) è possibile aggiungere l'intera analisi dello stack per connessione chiusa 2) è stata impostata su InactivityTimeout, TimeToLiveTimeout o AbandonedConnectionTimeout ad eventuali valori non predefiniti? 3) Utilizzi ValidateConnection? –
4) Le connessioni fisiche tra il server delle applicazioni e il server DB vengono interrotte a livello di rete, ad es. da un firewall? –
Dove posso impostare questi parametri? Sono nuovo nella programmazione di Oracle, quindi non sono sicuro di dove trovare questi parametri. Dove posso trovare ValidateConnection e forzare una riconnessione? (Semplicemente aggiornare il mio browser subito dopo aver visto l'errore risolverà le cose immediatamente.Non sono sicuro che questo sia un problema del firewall.) – futureelite7