diff --git a/pom.xml b/pom.xml
index 4a7a6c0a06..e4b71292ff 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
com.alibaba
druid
- 1.1.20_preview_07
+ 1.1.20_preview_08
jar
druid
diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java
index 7feb4574b5..2d030cb856 100644
--- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java
+++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java
@@ -1691,6 +1691,9 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
public void handleConnectionException(DruidPooledConnection pooledConnection, Throwable t, String sql) throws SQLException {
final DruidConnectionHolder holder = pooledConnection.getConnectionHolder();
+ if (holder == null) {
+ return;
+ }
errorCountUpdater.incrementAndGet(this);
lastError = t;
@@ -2998,7 +3001,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
DruidConnectionHolder connection = connections[i];
if (onFatalError || fatalErrorIncrement > 0) {
- if (lastFatalErrorTimeMillis < connection.lastActiveTimeMillis) {
+ if (lastFatalErrorTimeMillis > connection.lastActiveTimeMillis) {
keepAliveConnections[keepAliveCount++] = connection;
continue;
} else {
diff --git a/src/main/java/com/alibaba/druid/pool/DruidPooledConnection.java b/src/main/java/com/alibaba/druid/pool/DruidPooledConnection.java
index a6b3afbda7..f0245c1d03 100644
--- a/src/main/java/com/alibaba/druid/pool/DruidPooledConnection.java
+++ b/src/main/java/com/alibaba/druid/pool/DruidPooledConnection.java
@@ -147,6 +147,7 @@ public class DruidPooledConnection extends PoolableWrapper implements javax.sql.
public void closePoolableStatement(DruidPooledPreparedStatement stmt) throws SQLException {
PreparedStatement rawStatement = stmt.getRawPreparedStatement();
+ final DruidConnectionHolder holder = this.holder;
if (holder == null) {
return;
}
diff --git a/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java b/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java
index 32875cb8df..d2b3417064 100644
--- a/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java
+++ b/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java
@@ -98,8 +98,9 @@ public class DruidPooledStatement extends PoolableWrapper implements Statement {
DruidDataSource dataSource = null;
- if (this.conn.holder.dataSource instanceof DruidDataSource) {
- dataSource = (DruidDataSource) this.conn.holder.dataSource;
+ final DruidConnectionHolder holder = this.conn.holder;
+ if (holder.dataSource instanceof DruidDataSource) {
+ dataSource = (DruidDataSource) holder.dataSource;
}
if (dataSource == null) {
return;