diff --git a/core/src/main/java/com/alibaba/druid/pool/JDBC4ValidConnectionChecker.java b/core/src/main/java/com/alibaba/druid/pool/JDBC4ValidConnectionChecker.java new file mode 100644 index 0000000000..58e61fec5e --- /dev/null +++ b/core/src/main/java/com/alibaba/druid/pool/JDBC4ValidConnectionChecker.java @@ -0,0 +1,27 @@ +package com.alibaba.druid.pool; + +import java.sql.Connection; +import java.util.Properties; + +/** + * Common ValidConnectionChecker for JDBC4 to use Connection.isValid. + * + * @Author : kimmking(kimmking@apache.org) + * @create 2023/3/4 16:48 + */ +public class JDBC4ValidConnectionChecker implements ValidConnectionChecker { + + @Override + public boolean isValidConnection(Connection c, String query, int validationQueryTimeout) throws Exception { + Connection conn = c; + if(conn instanceof DruidPooledConnection) { + conn = ((DruidPooledConnection) conn).getConnection(); + } + return conn.isValid(validationQueryTimeout); + } + + @Override + public void configFromProperties(Properties properties) { + + } +}