Checkpoint check-in, this is not final code at all...

pull/253/head
Brett Wooldridge 10 years ago
parent b544c21cf3
commit 2eefb6d4cd

@ -185,7 +185,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))) {
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);
}
@ -433,7 +433,7 @@ public abstract class BaseHikariPool implements HikariPoolMBean, IBagStateListen
* @param timeoutMs the timeout before we consider the test a failure
* @return true if the connection is alive, false if it is not alive or we timed out
*/
protected abstract boolean isConnectionAlive(final Connection connection);
protected abstract boolean isConnectionAlive(final Connection connection, final long timeoutMs);
/**
* Attempt to abort() active connections on Java7+, or close() them on Java6.

@ -244,7 +244,7 @@ public class ShutdownTest
final HikariConfig config = new HikariConfig();
config.setMinimumIdle(5);
config.setMaximumPoolSize(5);
config.setConnectionTimeout(200);
config.setConnectionTimeout(1000);
config.setInitializationFailFast(true);
config.setConnectionTestQuery("VALUES 1");
config.setDataSourceClassName("com.zaxxer.hikari.mocks.StubDataSource");

@ -239,7 +239,7 @@ public class TestConnections
HikariConfig config = new HikariConfig();
config.setMinimumIdle(1);
config.setMaximumPoolSize(4);
config.setConnectionTimeout(500);
config.setConnectionTimeout(1000);
config.setInitializationFailFast(false);
config.setConnectionTestQuery("VALUES 1");
config.setDataSourceClassName("com.zaxxer.hikari.mocks.StubDataSource");

@ -144,7 +144,7 @@ public class TestValidation
Assert.fail();
}
catch (IllegalArgumentException ise) {
Assert.assertTrue(ise.getMessage().contains("connectionTimeout cannot be less than 100ms"));
Assert.assertTrue(ise.getMessage().contains("connectionTimeout cannot be less than 1000ms"));
}
}

@ -139,7 +139,7 @@ public final class HikariPool extends BaseHikariPool
* @return true if the connection is alive, false if it is not alive or we timed out
*/
@Override
protected boolean isConnectionAlive(final Connection connection)
protected boolean isConnectionAlive(final Connection connection, final long timeoutMs)
{
try {
final int timeoutSec = (int) TimeUnit.MILLISECONDS.toSeconds(validationTimeout);

@ -118,13 +118,14 @@ public final class HikariPool extends BaseHikariPool
* Check whether the connection is alive or not.
*
* @param connection the connection to test
* @param timeoutMs the timeout before we consider the test a failure
* @return true if the connection is alive, false if it is not alive or we timed out
*/
@Override
protected boolean isConnectionAlive(final Connection connection)
protected boolean isConnectionAlive(final Connection connection, final long timeoutMs)
{
try {
final int timeoutSec = (int) TimeUnit.MILLISECONDS.toSeconds(validationTimeout);
int timeoutSec = (int) TimeUnit.MILLISECONDS.toSeconds(validationTimeout);
if (isUseJdbc4Validation) {
return connection.isValid(timeoutSec);

Loading…
Cancel
Save