I like this variant better.

2.3.0
Brett Wooldridge 10 years ago
parent cd3af22e29
commit 58fccbd06c

@ -47,6 +47,7 @@ import com.zaxxer.hikari.IConnectionCustomizer;
import com.zaxxer.hikari.metrics.CodaHaleMetricsTracker;
import com.zaxxer.hikari.metrics.MetricsTracker;
import com.zaxxer.hikari.metrics.MetricsTracker.MetricsContext;
import com.zaxxer.hikari.proxy.ConnectionProxy;
import com.zaxxer.hikari.proxy.IHikariConnectionProxy;
import com.zaxxer.hikari.proxy.ProxyFactory;
import com.zaxxer.hikari.util.ConcurrentBag;
@ -444,21 +445,19 @@ public abstract class BaseHikariPool implements HikariPoolMBean, IBagStateListen
*/
private void fillPool()
{
// Create a Connection and throw it away
if (configuration.isInitializationFailFast()) {
if (!addConnection()) {
throw new RuntimeException("Fail-fast during pool initialization", lastConnectionFailure.getAndSet(null));
}
try {
evictConnection((IHikariConnectionProxy) getConnection());
ConnectionProxy connection = (ConnectionProxy) getConnection();
if (configuration.getMinimumIdle() == 0) {
connection.getPoolBagEntry().evicted = true;
}
connection.close();
}
catch (SQLException e) {
throw new RuntimeException("Fail-fast during pool initialization", e);
}
}
if (configuration.getMinimumIdle() > 0) {
else {
addBagItem();
}
}

@ -10,6 +10,7 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.zaxxer.hikari.util.PoolUtilities;
import com.zaxxer.hikari.util.UtilityElf;
public class ExceptionTest
@ -40,12 +41,10 @@ public class ExceptionTest
@Test
public void testException1() throws SQLException
{
Assert.assertSame("Totals connections not as expected", 1, TestElf.getPool(ds).getTotalConnections());
Assert.assertSame("Idle connections not as expected", 1, TestElf.getPool(ds).getIdleConnections());
Connection connection = ds.getConnection();
Assert.assertNotNull(connection);
UtilityElf.quietlySleep(100);
Assert.assertSame("Totals (2) connections not as expected", 1, TestElf.getPool(ds).getTotalConnections());
Assert.assertSame("Idle (2) connections not as expected", 0, TestElf.getPool(ds).getIdleConnections());

Loading…
Cancel
Save