修改OracleValidateConnectionCheck的实现

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@493 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-07-21 06:38:18 +00:00
parent 0674ba50e9
commit 69b7d0bb95
6 changed files with 58 additions and 20 deletions
@@ -701,6 +701,13 @@ public abstract class DruidAbstractDataSource implements DruidAbstractDataSource
throw new SQLException("validateConnection: connection closed");
}
if (validConnectionChecker != null) {
if (!validConnectionChecker.isValidConnection(conn, validationQuery, validationQueryTimeout)) {
throw new SQLException("validateConnection false");
}
return;
}
if (null != query) {
Statement stmt = null;
ResultSet rset = null;
@@ -731,23 +738,23 @@ public abstract class DruidAbstractDataSource implements DruidAbstractDataSource
}
}
}
public boolean testConnection(Connection conn) {
if (conn instanceof PoolableConnection) {
conn = ((PoolableConnection) conn).getConnection();
}
if (conn instanceof ConnectionProxy) {
conn = ((ConnectionProxy) conn).getConnectionRaw();
}
return testConnectionInternal(conn);
}
protected boolean testConnectionInternal(Connection conn) {
try {
if (validConnectionChecker != null) {
return validConnectionChecker.isValidConnection(conn);
return validConnectionChecker.isValidConnection(conn, validationQuery, validationQueryTimeout);
}
String query = getValidationQuery();