From 65b505acc70394e8227346fb824a4d7b9dec6f7f Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 13 Apr 2013 23:37:22 +0800 Subject: [PATCH] bug fixed for tomcat 7 memory leak warnnings --- .../druid/pool/DruidAbstractDataSource.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) 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); + } } }