The routing data source has multiple data sources configured to it. The exception below happens once in awhile, and actually somewhat infrequently (even though this call is made numerous times).
We are configuring HikariDataSource's for the AbstractRoutingDataSource.targetDataSources. The AbstractRoutingDataSource implementation is passed as a dataSource to org.springframework.orm.hibernate4.LocalSessionFactoryBean.
The below is triggered by a call to begin a transaction that was created via sessionFactory.getSession().getTransaction().begin() <-- somewhat pseudocode...
com.zaxxer.hikari.proxy.LeakTask - Connection leak detection triggered, stack trace follows
java.lang.Exception
at org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource.getConnection(AbstractRoutingDataSource.java:164)
at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:380)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:228)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:171)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:162)