From 94be387dcc4d25aada3ba011e0436745bf68aaaf Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Wed, 7 Jan 2015 11:58:25 +0900 Subject: [PATCH] Clarify boolean order of operations in getConnection() conditional. Run fillPool() on the caller thread. --- .../com/zaxxer/hikari/pool/BaseHikariPool.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/hikaricp-common/src/main/java/com/zaxxer/hikari/pool/BaseHikariPool.java b/hikaricp-common/src/main/java/com/zaxxer/hikari/pool/BaseHikariPool.java index fb23e40e..252c5d8f 100644 --- a/hikaricp-common/src/main/java/com/zaxxer/hikari/pool/BaseHikariPool.java +++ b/hikaricp-common/src/main/java/com/zaxxer/hikari/pool/BaseHikariPool.java @@ -183,7 +183,7 @@ public abstract class BaseHikariPool implements HikariPoolMBean, IBagStateListen } final long now = System.currentTimeMillis(); - if (bagEntry.evicted || now - bagEntry.lastAccess > ALIVE_BYPASS_WINDOW && !isConnectionAlive(bagEntry.connection, timeout)) { + if (bagEntry.evicted || (now - bagEntry.lastAccess > ALIVE_BYPASS_WINDOW && !isConnectionAlive(bagEntry.connection, timeout))) { closeConnection(bagEntry); // Throw away the dead connection and try again timeout = connectionTimeout - elapsedTimeMs(start); } @@ -407,15 +407,10 @@ public abstract class BaseHikariPool implements HikariPoolMBean, IBagStateListen */ protected void fillPool() { - houseKeepingExecutorService.schedule(new Runnable() { - public void run() - { - final int connectionsToAdd = configuration.getMinimumIdle() - getIdleConnections(); - for (int i = 0; i < connectionsToAdd; i++) { - addBagItem(); - } - } - }, 1, TimeUnit.SECONDS); + final int connectionsToAdd = configuration.getMinimumIdle() - getIdleConnections(); + for (int i = 0; i < connectionsToAdd; i++) { + addBagItem(); + } } // ***********************************************************************