diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java index d195cf0228..5adb2527b2 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java @@ -1164,9 +1164,13 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements protected boolean testConnectionInternal(Connection conn) { String sqlFile = JdbcSqlStat.getContextSqlFile(); String sqlName = JdbcSqlStat.getContextSqlName(); - - JdbcSqlStat.setContextSqlFile(null); - JdbcSqlStat.setContextSqlName(null); + + if (sqlFile != null) { + JdbcSqlStat.setContextSqlFile(null); + } + if (sqlName != null) { + JdbcSqlStat.setContextSqlName(null); + } try { if (validConnectionChecker != null) { return validConnectionChecker.isValidConnection(conn, validationQuery, validationQueryTimeout); @@ -1201,8 +1205,12 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements // skip return false; } finally { - JdbcSqlStat.setContextSqlFile(sqlFile); - JdbcSqlStat.setContextSqlName(sqlName); + if (sqlFile != null) { + JdbcSqlStat.setContextSqlFile(sqlFile); + } + if (sqlName != null) { + JdbcSqlStat.setContextSqlName(sqlName); + } } }