I'm monitoring the SQL database for connections every 5 minutes. For days it'll hover around 5 connections (my idle) then suddenly I'm at 50. Obviously this is a recursive issue because I can't see why I would jump from 5 to 50 within 5 minutes with zero traffic.
I'm using Hibernate 4 and Tomcat and I know of an issue in Hibernate that was patched in 4.3.2, but I'm on 4.3.5
More details: The pool empty event happens every day at exactly 7:13:20PM... Sounds too automatic. I am using Quartz and it runs every 1 minute, but I can't see how they're related.
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
- Tomcat 7.0.59
- java 1.7.0 update 76
- SQL Server 2012
More information: I reduced the quartz job frequency to every 5 minutes. The event still took place when I loaded a page/view in the application. This was roughly at 7:14 PM. I'm on the verge of downgrading to hibernate 3.
Update Today I reloaded the application in Tomcat Manager at 6:50 PM, but the event still took place. Thread Dump