diff --git a/CHANGES b/CHANGES
index 2fc5cf4e..6245c27f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,12 +1,27 @@
HikariCP Changes
- * issue 379: stop closing idle connections, to keep minIdle connections in pool
+Changes in 2.4.1
+
+ * issue 380: housekeeper was not being scheduled in the case of a user specified
+ ScheduledExecutorService instance.
+
+ * issue 340: rollback change that elides setting the readonly property if the user
+ never explicitly configured it. See discussion in the Github issue tracker.
+
+ * issue 379: stop closing idle connections, to keep minimumIdle connections in pool
+
* issue 375: fixed InvalidPathException in HikariConfig
+
* issue 362: fixed NullPointerException in closing connection (closing statements)
+
* issue 357: allow altering the username & password through JMX at runtime
+
* issue 349: handle integer Transaction isolation level
+
* Throw SQLTransientConnectionException instead of SQLTimeoutException
+
* for validating connection, if network time out is set, do not set query timeout too
+
* ResultSet.getStatement() should return StatementProxy
Changes in 2.4.0
diff --git a/pom.xml b/pom.xml
index 932ba5ff..fd960e62 100644
--- a/pom.xml
+++ b/pom.xml
@@ -228,7 +228,8 @@
HikariCP
com.zaxxer.hikari,
- com.zaxxer.hikari.hibernate
+ com.zaxxer.hikari.hibernate,
+ com.zaxxer.hikari.metrics
com.zaxxer.hikari.*
<_exportcontents>
diff --git a/src/main/java/com/zaxxer/hikari/HikariConfig.java b/src/main/java/com/zaxxer/hikari/HikariConfig.java
index 1d4f3f46..a32e4be7 100644
--- a/src/main/java/com/zaxxer/hikari/HikariConfig.java
+++ b/src/main/java/com/zaxxer/hikari/HikariConfig.java
@@ -79,7 +79,7 @@ public class HikariConfig implements HikariConfigMXBean
private String transactionIsolationName;
private String username;
private boolean isAutoCommit;
- private Boolean isReadOnly;
+ private boolean isReadOnly;
private boolean isInitializationFailFast;
private boolean isIsolateInternalQueries;
private boolean isRegisterMbeans;
@@ -548,12 +548,12 @@ public class HikariConfig implements HikariConfigMXBean
healthCheckProperties.setProperty(key, value);
}
- public Boolean isReadOnly()
+ public boolean isReadOnly()
{
return isReadOnly;
}
- public void setReadOnly(Boolean readOnly)
+ public void setReadOnly(boolean readOnly)
{
this.isReadOnly = readOnly;
}
diff --git a/src/main/java/com/zaxxer/hikari/pool/PoolElf.java b/src/main/java/com/zaxxer/hikari/pool/PoolElf.java
index 8a9cda84..0b4e8c76 100644
--- a/src/main/java/com/zaxxer/hikari/pool/PoolElf.java
+++ b/src/main/java/com/zaxxer/hikari/pool/PoolElf.java
@@ -45,7 +45,7 @@ public final class PoolElf
private final HikariConfig config;
private final String poolName;
private final String catalog;
- private final Boolean isReadOnly;
+ private final boolean isReadOnly;
private final boolean isAutoCommit;
private final boolean isUseJdbc4Validation;
private final boolean isIsolateInternalQueries;
@@ -181,9 +181,7 @@ public final class PoolElf
networkTimeout = getAndSetNetworkTimeout(connection, connectionTimeout);
connection.setAutoCommit(isAutoCommit);
- if (isReadOnly != null) {
- connection.setReadOnly(isReadOnly);
- }
+ connection.setReadOnly(isReadOnly);
final int defaultLevel = connection.getTransactionIsolation();
transactionIsolation = (transactionIsolation < 0 ? defaultLevel : transactionIsolation);
@@ -245,7 +243,7 @@ public final class PoolElf
{
int resetBits = 0;
- if (isReadOnly != null && poolEntry.isReadOnly != isReadOnly) {
+ if (poolEntry.isReadOnly != isReadOnly) {
poolEntry.connection.setReadOnly(isReadOnly);
resetBits |= 0b00001;
}
@@ -278,9 +276,7 @@ public final class PoolElf
void resetPoolEntry(final PoolBagEntry poolEntry)
{
- if (isReadOnly != null) {
- poolEntry.setReadOnly(isReadOnly);
- }
+ poolEntry.setReadOnly(isReadOnly);
poolEntry.setCatalog(catalog);
poolEntry.setAutoCommit(isAutoCommit);
poolEntry.setNetworkTimeout(networkTimeout);
diff --git a/src/test/java/com/zaxxer/hikari/mocks/StubPreparedStatement.java b/src/test/java/com/zaxxer/hikari/mocks/StubPreparedStatement.java
index a7eeef5e..f7fc245e 100644
--- a/src/test/java/com/zaxxer/hikari/mocks/StubPreparedStatement.java
+++ b/src/test/java/com/zaxxer/hikari/mocks/StubPreparedStatement.java
@@ -439,6 +439,7 @@ public class StubPreparedStatement extends StubStatement implements PreparedStat
/** {@inheritDoc} */
@Override
+ @SuppressWarnings("deprecation")
public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException
{
}
diff --git a/src/test/java/com/zaxxer/hikari/mocks/StubResultSet.java b/src/test/java/com/zaxxer/hikari/mocks/StubResultSet.java
index a4131489..609d8c61 100644
--- a/src/test/java/com/zaxxer/hikari/mocks/StubResultSet.java
+++ b/src/test/java/com/zaxxer/hikari/mocks/StubResultSet.java
@@ -141,6 +141,7 @@ public class StubResultSet implements ResultSet
/** {@inheritDoc} */
@Override
+ @SuppressWarnings("deprecation")
public BigDecimal getBigDecimal(int columnIndex, int scale) throws SQLException
{
return null;
@@ -183,6 +184,7 @@ public class StubResultSet implements ResultSet
/** {@inheritDoc} */
@Override
+ @SuppressWarnings("deprecation")
public InputStream getUnicodeStream(int columnIndex) throws SQLException
{
return null;
@@ -253,6 +255,7 @@ public class StubResultSet implements ResultSet
/** {@inheritDoc} */
@Override
+ @SuppressWarnings("deprecation")
public BigDecimal getBigDecimal(String columnLabel, int scale) throws SQLException
{
return null;
@@ -295,6 +298,7 @@ public class StubResultSet implements ResultSet
/** {@inheritDoc} */
@Override
+ @SuppressWarnings("deprecation")
public InputStream getUnicodeStream(String columnLabel) throws SQLException
{
return null;