From 7852524e6603a747b7be4fdc5b9ab9ea908b3a98 Mon Sep 17 00:00:00 2001 From: Brett Wooldridge Date: Sun, 12 Jan 2014 11:32:00 +0900 Subject: [PATCH] Cleaner handling of resetting autoCommit and setTransactionIsolation. --- .../java/com/zaxxer/hikari/HikariPool.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/com/zaxxer/hikari/HikariPool.java b/core/src/main/java/com/zaxxer/hikari/HikariPool.java index 430bc457..111abf98 100644 --- a/core/src/main/java/com/zaxxer/hikari/HikariPool.java +++ b/core/src/main/java/com/zaxxer/hikari/HikariPool.java @@ -154,7 +154,6 @@ public final class HikariPool implements HikariPoolMBean connectionProxy.captureStack(leakDetectionThreshold, houseKeepingTimer); } - connection.setAutoCommit(isAutoCommit); connection.setTransactionIsolation(transactionIsolation); connection.clearWarnings(); @@ -340,15 +339,11 @@ public final class HikariPool implements HikariPoolMBean String initSql = configuration.getConnectionInitSql(); if (initSql != null && initSql.length() > 0) { - Statement statement = connection.createStatement(); - try + connection.setAutoCommit(true); + try (Statement statement = connection.createStatement()) { statement.executeQuery(initSql); } - finally - { - statement.close(); - } } idleConnectionCount.incrementAndGet(); @@ -392,6 +387,9 @@ public final class HikariPool implements HikariPoolMBean try { + connection.setAutoCommit(true); + connection.setTransactionIsolation(transactionIsolation); + if (jdbc4ConnectionTest) { return connection.isValid((int) TimeUnit.MILLISECONDS.toSeconds(timeoutMs)); @@ -401,6 +399,10 @@ public final class HikariPool implements HikariPoolMBean { statement.executeQuery(configuration.getConnectionTestQuery()); } + finally + { + + } return true; } @@ -415,7 +417,7 @@ public final class HikariPool implements HikariPoolMBean { try { - connection.commit(); + connection.setAutoCommit(false); } catch (SQLException e) {