Sto monitorando il database SQL per le connessioni ogni 5 minuti. Per giorni passerà intorno a 5 connessioni (il mio inattivo), poi improvvisamente sono a 50. Ovviamente questo è un problema ricorsivo perché non riesco a capire perché vorrei saltare da 5 a 50 in 5 minuti con traffico zero.Connection Pool vuoto Hibernate 4, ma Impossibile trovare il colpevole
Sto usando Hibernate 4 e Tomcat e so di un problema in Hibernate che è stato patchato nella 4.3.2, ma sono su 4.3.5
Maggiori dettagli: La piscina di eventi vuoto succede ogni giorno esattamente alle 7:13:20 PM ... Suoni troppo automatici. Sto usando Quartz e viene eseguito ogni 1 minuto, ma non riesco a vedere come sono correlati.
Miei annunci:
jmxEnabled = true
initialSize = 5
maxActive = 50
minIdle = 5
maxIdle = 25
maxWait = 10000
maxAge = 10 * 60000
timeBetweenEvictionRunsMillis = 5000
minEvictableIdleTimeMillis = 60000
validationQuery = "SELECT 1"
validationQueryTimeout = 3
validationInterval = 15000
testOnBorrow = true
testWhileIdle = true
testOnReturn = false
jdbcInterceptors = "ConnectionState"
defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
Ambiente:
- Tomcat 7.0.59
- Java 1.7.0 update 76
- SQL Server 2012
Maggiori informazioni : Ho ridotto la frequenza del lavoro al quarzo ogni 5 minuti. L'evento si è ancora verificato quando ho caricato una pagina/vista nell'applicazione. Questo era all'incirca alle 7:14 PM. Sono sull'orlo della retrocessione per il letargo 3.
Aggiornamento Oggi ho ricaricato l'applicazione in Tomcat Manager di 06:50, ma l'evento ancora avuto luogo. Thread Dump
Ho rimosso il daemon genitore-> figlio tomcat e ora ho solo 10 operatori di quarzo denominati in modo appropriato. –
Che tipo di pool di connessione stai usando? Ho scoperto che a volte provare Hikari o un altro provider CP può prestarsi a eseguire il debug delle istruzioni per tenere traccia di questi tipi di problemi. Potrebbe essere una buona idea provarlo in un ambiente di test. – bphilipnyc
@bphilinyc Non ho provato un altro provider oltre a Tomcat. Tuttavia, ho implementato l'ambiente QA, ma non ho riscontrato lo stesso problema. Molto localizzato e molto probabilmente esterno. –