diff --git a/src/main/java/com/zaxxer/hikari/pool/HikariPool.java b/src/main/java/com/zaxxer/hikari/pool/HikariPool.java index 0faad179..c3fcd896 100644 --- a/src/main/java/com/zaxxer/hikari/pool/HikariPool.java +++ b/src/main/java/com/zaxxer/hikari/pool/HikariPool.java @@ -194,7 +194,7 @@ public class HikariPool implements HikariPoolMBean, IBagStateListener else { metricsContext.setConnectionLastOpen(bagEntry, now); metricsContext.stop(); - return ProxyFactory.getProxyConnection(this, bagEntry, leakTask.start(bagEntry)); + return ProxyFactory.getProxyConnection(this, bagEntry, leakTask.start(bagEntry), now); } } while (timeout > 0L); diff --git a/src/main/java/com/zaxxer/hikari/proxy/ConnectionProxy.java b/src/main/java/com/zaxxer/hikari/proxy/ConnectionProxy.java index 21b3f290..a94b478c 100644 --- a/src/main/java/com/zaxxer/hikari/proxy/ConnectionProxy.java +++ b/src/main/java/com/zaxxer/hikari/proxy/ConnectionProxy.java @@ -72,13 +72,13 @@ public abstract class ConnectionProxy implements IHikariConnectionProxy SQL_ERRORS.add("JZ0C1"); // Sybase disconnect error } - protected ConnectionProxy(final HikariPool pool, final PoolBagEntry bagEntry, final LeakTask leakTask) { + protected ConnectionProxy(final HikariPool pool, final PoolBagEntry bagEntry, final LeakTask leakTask, final long now) { this.parentPool = pool; this.bagEntry = bagEntry; this.delegate = bagEntry.connection; this.leakTask = leakTask; - this.lastAccess = bagEntry.lastAccess; + this.lastAccess = now; this.openStatements = new FastList(Statement.class, 16); } diff --git a/src/main/java/com/zaxxer/hikari/proxy/ProxyFactory.java b/src/main/java/com/zaxxer/hikari/proxy/ProxyFactory.java index c5ac541c..8f62c2f5 100644 --- a/src/main/java/com/zaxxer/hikari/proxy/ProxyFactory.java +++ b/src/main/java/com/zaxxer/hikari/proxy/ProxyFactory.java @@ -47,7 +47,7 @@ public final class ProxyFactory * @param leakTask a leak detetection task * @return a proxy that wraps the specified {@link Connection} */ - public static IHikariConnectionProxy getProxyConnection(final HikariPool pool, final PoolBagEntry bagEntry, final LeakTask leakTask) + public static IHikariConnectionProxy getProxyConnection(final HikariPool pool, final PoolBagEntry bagEntry, final LeakTask leakTask, final long now) { // Body is injected by JavassistProxyFactory return null;