From d8805ae98c0973b9e684fadb394df2d24f12b335 Mon Sep 17 00:00:00 2001 From: gdyjlqh Date: Thu, 30 May 2019 02:50:02 +0800 Subject: [PATCH] =?UTF-8?q?pgsql=20Driver=209.0=E4=BB=A5=E5=8F=8A=E4=BB=A5?= =?UTF-8?q?=E4=B8=8B=E7=89=88=E6=9C=AC=E4=B8=8D=E6=94=AF=E6=8C=81setQueryT?= =?UTF-8?q?imeout=EF=BC=8C=E5=8F=AF=E9=80=9A=E8=BF=87=E8=AE=BE=E7=BD=AEque?= =?UTF-8?q?ryTimeout<0=E5=85=BC=E5=AE=B9=E4=BD=8E=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pool/vendor/PGValidConnectionChecker.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java b/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java index df8b9f5cbe..3174d66128 100644 --- a/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java +++ b/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java @@ -15,17 +15,17 @@ */ package com.alibaba.druid.pool.vendor; -import java.io.Serializable; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.Statement; - import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.pool.ValidConnectionChecker; import com.alibaba.druid.pool.ValidConnectionCheckerAdapter; import com.alibaba.druid.proxy.jdbc.ConnectionProxy; import com.alibaba.druid.util.JdbcUtils; +import java.io.Serializable; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; + public class PGValidConnectionChecker extends ValidConnectionCheckerAdapter implements ValidConnectionChecker, Serializable { private static final long serialVersionUID = -2227528634302168877L; @@ -61,7 +61,10 @@ public class PGValidConnectionChecker extends ValidConnectionCheckerAdapter impl ResultSet rs = null; try { stmt = conn.createStatement(); - stmt.setQueryTimeout(queryTimeout); + if(queryTimeout>=0){ + //pgsql Driver 9.0以及以下版本不支持setQueryTimeout,可通过设置queryTimeout<0兼容低版本 + stmt.setQueryTimeout(queryTimeout); + } rs = stmt.executeQuery(validateQuery); return true; } finally {