From 636a464b27877586f4cd6ef1e271b51d6b0c6ebb Mon Sep 17 00:00:00 2001 From: Andrew Shulman Date: Tue, 29 Jul 2014 21:53:33 -0400 Subject: [PATCH] Sync Java 6/7 and Java 8 versions --- hikaricp-java6/pom.xml | 1 - .../java/com/zaxxer/hikari/IsolationTest.java | 62 +++++++++++++++++++ .../java/com/zaxxer/hikari/ShutdownTest.java | 2 +- .../hikari/TestConnectionTimeoutRetry.java | 2 +- hikaricp/pom.xml | 1 + .../com/zaxxer/hikari/pool/HikariPool.java | 2 +- .../com/zaxxer/hikari/util/ConcurrentBag.java | 4 +- .../zaxxer/hikari/ConnectionStateTest.java | 4 ++ .../java/com/zaxxer/hikari/TestFastList.java | 2 +- 9 files changed, 73 insertions(+), 7 deletions(-) create mode 100644 hikaricp-java6/src/test/java/com/zaxxer/hikari/IsolationTest.java diff --git a/hikaricp-java6/pom.xml b/hikaricp-java6/pom.xml index 56b05757..1b3e60cb 100644 --- a/hikaricp-java6/pom.xml +++ b/hikaricp-java6/pom.xml @@ -6,7 +6,6 @@ com.zaxxer HikariCP-java6 - 2.0.1-SNAPSHOT bundle HikariCP-java6 diff --git a/hikaricp-java6/src/test/java/com/zaxxer/hikari/IsolationTest.java b/hikaricp-java6/src/test/java/com/zaxxer/hikari/IsolationTest.java new file mode 100644 index 00000000..dcb648a6 --- /dev/null +++ b/hikaricp-java6/src/test/java/com/zaxxer/hikari/IsolationTest.java @@ -0,0 +1,62 @@ +package com.zaxxer.hikari; + +import java.sql.Connection; +import java.sql.SQLException; + +import org.junit.Assert; +import org.junit.Test; + +public class IsolationTest +{ + @Test + public void testIsolation() throws SQLException + { + HikariDataSource ds = new HikariDataSource(); + ds.setMinimumIdle(1); + ds.setMaximumPoolSize(1); + ds.setIsolateInternalQueries(true); + ds.setDataSourceClassName("com.zaxxer.hikari.mocks.StubDataSource"); + + try + { + Connection connection = ds.getConnection(); + connection.close(); + + Connection connection2 = ds.getConnection(); + connection2.close(); + + Assert.assertNotSame(connection, connection2); + Assert.assertSame(connection.unwrap(Connection.class), connection2.unwrap(Connection.class)); + } + finally + { + ds.close(); + } + } + + @Test + public void testNonIsolation() throws SQLException + { + HikariDataSource ds = new HikariDataSource(); + ds.setMinimumIdle(1); + ds.setMaximumPoolSize(1); + ds.setIsolateInternalQueries(false); + ds.setDataSourceClassName("com.zaxxer.hikari.mocks.StubDataSource"); + + try + { + Connection connection = ds.getConnection(); + connection.close(); + + Connection connection2 = ds.getConnection(); + connection2.close(); + + Assert.assertSame(connection, connection2); + Assert.assertSame(connection.unwrap(Connection.class), connection2.unwrap(Connection.class)); + } + finally + { + ds.close(); + } + } +} diff --git a/hikaricp-java6/src/test/java/com/zaxxer/hikari/ShutdownTest.java b/hikaricp-java6/src/test/java/com/zaxxer/hikari/ShutdownTest.java index 083d2181..575e66a0 100644 --- a/hikaricp-java6/src/test/java/com/zaxxer/hikari/ShutdownTest.java +++ b/hikaricp-java6/src/test/java/com/zaxxer/hikari/ShutdownTest.java @@ -141,7 +141,7 @@ public class ShutdownTest PoolUtilities.quietlySleep(300); - Assert.assertTrue("Totals connection count not as expected, ", pool.getTotalConnections() > 0); + Assert.assertTrue("Totals connection count not as expected, ", pool.getTotalConnections() == 5); ds.close(); diff --git a/hikaricp-java6/src/test/java/com/zaxxer/hikari/TestConnectionTimeoutRetry.java b/hikaricp-java6/src/test/java/com/zaxxer/hikari/TestConnectionTimeoutRetry.java index e04e71f3..2a7c00dd 100644 --- a/hikaricp-java6/src/test/java/com/zaxxer/hikari/TestConnectionTimeoutRetry.java +++ b/hikaricp-java6/src/test/java/com/zaxxer/hikari/TestConnectionTimeoutRetry.java @@ -253,7 +253,7 @@ public class TestConnectionTimeoutRetry Connection connection6 = ds.getConnection(); Connection connection7 = ds.getConnection(); - Thread.sleep(1000); + Thread.sleep(1200); Assert.assertSame("Totals connections not as expected", 10, TestElf.getPool(ds).getTotalConnections()); Assert.assertSame("Idle connections not as expected", 3, TestElf.getPool(ds).getIdleConnections()); diff --git a/hikaricp/pom.xml b/hikaricp/pom.xml index 1dec4035..7c57d565 100644 --- a/hikaricp/pom.xml +++ b/hikaricp/pom.xml @@ -4,6 +4,7 @@ + com.zaxxer HikariCP bundle diff --git a/hikaricp/src/main/java/com/zaxxer/hikari/pool/HikariPool.java b/hikaricp/src/main/java/com/zaxxer/hikari/pool/HikariPool.java index 81ffa17b..fdf2662b 100644 --- a/hikaricp/src/main/java/com/zaxxer/hikari/pool/HikariPool.java +++ b/hikaricp/src/main/java/com/zaxxer/hikari/pool/HikariPool.java @@ -335,7 +335,7 @@ public final class HikariPool implements HikariPoolMBean, IBagStateListener @Override public int getIdleConnections() { - return (int) connectionBag.getCount(STATE_NOT_IN_USE); + return connectionBag.getCount(STATE_NOT_IN_USE); } /** {@inheritDoc} */ diff --git a/hikaricp/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java b/hikaricp/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java index 46e49821..57dc3326 100644 --- a/hikaricp/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java +++ b/hikaricp/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java @@ -286,9 +286,9 @@ public class ConcurrentBag reference.getState() == state).count(); + return (int) sharedList.stream().filter(reference -> reference.getState() == state).count(); } /** diff --git a/hikaricp/src/test/java/com/zaxxer/hikari/ConnectionStateTest.java b/hikaricp/src/test/java/com/zaxxer/hikari/ConnectionStateTest.java index ed3e1ab4..3d6f8b00 100644 --- a/hikaricp/src/test/java/com/zaxxer/hikari/ConnectionStateTest.java +++ b/hikaricp/src/test/java/com/zaxxer/hikari/ConnectionStateTest.java @@ -17,6 +17,10 @@ public class ConnectionStateTest ds.setMaximumPoolSize(1); ds.setConnectionTestQuery("VALUES 1"); ds.setDataSourceClassName("com.zaxxer.hikari.mocks.StubDataSource"); + ds.addDataSourceProperty("user", "bar"); + ds.addDataSourceProperty("password", "secret"); + ds.addDataSourceProperty("url", "baf"); + ds.addDataSourceProperty("loginTimeout", "10"); try { diff --git a/hikaricp/src/test/java/com/zaxxer/hikari/TestFastList.java b/hikaricp/src/test/java/com/zaxxer/hikari/TestFastList.java index 0a6dc91b..4d7deae3 100644 --- a/hikaricp/src/test/java/com/zaxxer/hikari/TestFastList.java +++ b/hikaricp/src/test/java/com/zaxxer/hikari/TestFastList.java @@ -86,7 +86,7 @@ public class TestFastList } - FastList list = new FastList<>(Base.class, 2); + FastList list = new FastList(Base.class, 2); list.add(new Foo()); list.add(new Foo()); list.add(new Bar());