From f4d031e73c1c792f64c12fad86065aa8b9312e7f Mon Sep 17 00:00:00 2001 From: kimmking Date: Sat, 4 Mar 2023 16:53:51 +0800 Subject: [PATCH] add ValidConnectionChecker for JDBC4 --- .../pool/JDBC4ValidConnectionChecker.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 core/src/main/java/com/alibaba/druid/pool/JDBC4ValidConnectionChecker.java 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) { + + } +}