From f97d66e5549af5c53e1bf4a549faadecac865dbe Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Mon, 22 Dec 2014 14:27:29 +0900 Subject: [PATCH] Move GlobalPoolLock and PoolUtilities into the pool package. --- .../main/java/com/zaxxer/hikari/pool/BaseHikariPool.java | 7 ++++--- .../com/zaxxer/hikari/{util => pool}/GlobalPoolLock.java | 2 +- .../com/zaxxer/hikari/{util => pool}/PoolUtilities.java | 4 +++- .../src/main/java/com/zaxxer/hikari/util/UtilityElf.java | 2 +- .../src/test/java/com/zaxxer/hikari/ShutdownTest.java | 2 +- 5 files changed, 10 insertions(+), 7 deletions(-) rename hikaricp-common/src/main/java/com/zaxxer/hikari/{util => pool}/GlobalPoolLock.java (98%) rename hikaricp-common/src/main/java/com/zaxxer/hikari/{util => pool}/PoolUtilities.java (98%) 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 42c741b9..5c8ab652 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 @@ -53,9 +53,7 @@ import com.zaxxer.hikari.proxy.ProxyFactory; import com.zaxxer.hikari.util.ConcurrentBag; import com.zaxxer.hikari.util.IBagStateListener; import com.zaxxer.hikari.util.DefaultThreadFactory; -import com.zaxxer.hikari.util.GlobalPoolLock; import com.zaxxer.hikari.util.LeakTask; -import com.zaxxer.hikari.util.PoolUtilities; /** * This is the primary connection pool class that provides the basic @@ -334,7 +332,10 @@ public abstract class BaseHikariPool implements HikariPoolMBean, IBagStateListen @Override public final void suspendPool() { - if (poolState != POOL_SUSPENDED) { + if (suspendResumeLock == GlobalPoolLock.FAUX_LOCK) { + throw new IllegalStateException("Pool " + configuration.getPoolName() + " is not suspendable"); + } + else if (poolState != POOL_SUSPENDED) { suspendResumeLock.suspend(); poolState = POOL_SUSPENDED; } diff --git a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/GlobalPoolLock.java b/hikaricp-common/src/main/java/com/zaxxer/hikari/pool/GlobalPoolLock.java similarity index 98% rename from hikaricp-common/src/main/java/com/zaxxer/hikari/util/GlobalPoolLock.java rename to hikaricp-common/src/main/java/com/zaxxer/hikari/pool/GlobalPoolLock.java index bf4e5fa6..bb52a31b 100644 --- a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/GlobalPoolLock.java +++ b/hikaricp-common/src/main/java/com/zaxxer/hikari/pool/GlobalPoolLock.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.zaxxer.hikari.util; +package com.zaxxer.hikari.pool; import java.util.concurrent.Semaphore; diff --git a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/PoolUtilities.java b/hikaricp-common/src/main/java/com/zaxxer/hikari/pool/PoolUtilities.java similarity index 98% rename from hikaricp-common/src/main/java/com/zaxxer/hikari/util/PoolUtilities.java rename to hikaricp-common/src/main/java/com/zaxxer/hikari/pool/PoolUtilities.java index efba0c6e..b7106389 100644 --- a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/PoolUtilities.java +++ b/hikaricp-common/src/main/java/com/zaxxer/hikari/pool/PoolUtilities.java @@ -1,4 +1,4 @@ -package com.zaxxer.hikari.util; +package com.zaxxer.hikari.pool; import static com.zaxxer.hikari.util.UtilityElf.createInstance; import static com.zaxxer.hikari.util.UtilityElf.createThreadPoolExecutor; @@ -16,6 +16,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.util.DriverDataSource; +import com.zaxxer.hikari.util.PropertyBeanSetter; public final class PoolUtilities { diff --git a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/UtilityElf.java b/hikaricp-common/src/main/java/com/zaxxer/hikari/util/UtilityElf.java index d7b1a308..750182ea 100644 --- a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/UtilityElf.java +++ b/hikaricp-common/src/main/java/com/zaxxer/hikari/util/UtilityElf.java @@ -102,7 +102,7 @@ public final class UtilityElf } try { - Class loaded = PoolUtilities.class.getClassLoader().loadClass(className); + Class loaded = UtilityElf.class.getClassLoader().loadClass(className); Class[] argClasses = new Class[args.length]; for (int i = 0; i < args.length; i++) { diff --git a/hikaricp-common/src/test/java/com/zaxxer/hikari/ShutdownTest.java b/hikaricp-common/src/test/java/com/zaxxer/hikari/ShutdownTest.java index 4011526f..09289f11 100644 --- a/hikaricp-common/src/test/java/com/zaxxer/hikari/ShutdownTest.java +++ b/hikaricp-common/src/test/java/com/zaxxer/hikari/ShutdownTest.java @@ -28,7 +28,7 @@ import org.junit.Test; import com.zaxxer.hikari.mocks.StubConnection; import com.zaxxer.hikari.pool.HikariPool; -import com.zaxxer.hikari.util.PoolUtilities; +import com.zaxxer.hikari.pool.PoolUtilities; import com.zaxxer.hikari.util.UtilityElf; /**