From 62d3dd40747e0e3d7492689891d940e77cf7b0b1 Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Sun, 29 Mar 2015 15:44:28 +0900 Subject: [PATCH] Comment #289 Hasten garbage collection of Connections after close --- src/main/java/com/zaxxer/hikari/pool/HikariPool.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zaxxer/hikari/pool/HikariPool.java b/src/main/java/com/zaxxer/hikari/pool/HikariPool.java index 0c68de4d..7565131d 100644 --- a/src/main/java/com/zaxxer/hikari/pool/HikariPool.java +++ b/src/main/java/com/zaxxer/hikari/pool/HikariPool.java @@ -496,12 +496,14 @@ public class HikariPool implements HikariPoolMBean, IBagStateListener if (tc < 0) { LOGGER.warn("Internal accounting inconsistency, totalConnections={}", tc, new Exception()); } + final Connection connection = bagEntry.connection; closeConnectionExecutor.execute(new Runnable() { public void run() { - poolUtils.quietlyCloseConnection(bagEntry.connection, closureReason); + poolUtils.quietlyCloseConnection(connection, closureReason); } }); } + bagEntry.connection = null; } /** @@ -564,6 +566,7 @@ public class HikariPool implements HikariPoolMBean, IBagStateListener poolUtils.quietlyCloseConnection(bagEntry.connection, "connection aborted during shutdown"); } finally { + bagEntry.connection = null; if (connectionBag.remove(bagEntry)) { totalConnections.decrementAndGet(); }