mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
bug fixed for validateConnection
This commit is contained in:
@@ -16,8 +16,12 @@
|
||||
package com.alibaba.druid.pool;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.Statement;
|
||||
import java.util.Properties;
|
||||
|
||||
import com.alibaba.druid.util.JdbcUtils;
|
||||
|
||||
/**
|
||||
* @author wenshao [szujobs@hotmail.com]
|
||||
* @since 0.2.21
|
||||
@@ -25,8 +29,24 @@ import java.util.Properties;
|
||||
public class ValidConnectionCheckerAdapter implements ValidConnectionChecker {
|
||||
|
||||
@Override
|
||||
public boolean isValidConnection(Connection c, String query, int validationQueryTimeout) throws Exception {
|
||||
return true;
|
||||
public boolean isValidConnection(Connection conn, String query, int validationQueryTimeout) throws Exception {
|
||||
if (query == null || query.length() == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Statement stmt = null;
|
||||
ResultSet rs = null;
|
||||
try {
|
||||
stmt = conn.createStatement();
|
||||
if (validationQueryTimeout > 0) {
|
||||
stmt.setQueryTimeout(validationQueryTimeout);
|
||||
}
|
||||
rs = stmt.executeQuery(query);
|
||||
return true;
|
||||
} finally {
|
||||
JdbcUtils.close(rs);
|
||||
JdbcUtils.close(stmt);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -325,16 +325,8 @@ public class DataSourceTest3 extends TestCase {
|
||||
dataSource.setValidationQuery(null);
|
||||
dataSource.setValidConnectionChecker(new MySqlValidConnectionChecker());
|
||||
|
||||
{
|
||||
Exception error = null;
|
||||
try {
|
||||
DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class);
|
||||
dataSource.validateConnection(conn);
|
||||
} catch (SQLException ex) {
|
||||
error = ex;
|
||||
}
|
||||
Assert.assertNotNull(error);
|
||||
}
|
||||
|
||||
DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class);
|
||||
dataSource.validateConnection(conn);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user