From cba0d4fead88c82dcc5c4abd94cf782936209cd7 Mon Sep 17 00:00:00 2001 From: DigitalSonic Date: Fri, 10 Feb 2017 22:25:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3PG=E7=9A=84=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E5=99=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正stmt未设置查询超时的问题 --- .../alibaba/druid/pool/vendor/PGValidConnectionChecker.java | 5 +++++ 1 file changed, 5 insertions(+) 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 5c81948204..f9903ea785 100644 --- a/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java +++ b/src/main/java/com/alibaba/druid/pool/vendor/PGValidConnectionChecker.java @@ -30,6 +30,8 @@ public class PGValidConnectionChecker extends ValidConnectionCheckerAdapter impl private static final long serialVersionUID = -2227528634302168877L; + private int defaultQueryTimeout = 1; + private String defaultValidateQuery = "SELECT 'x'"; public PGValidConnectionChecker(){ @@ -53,10 +55,13 @@ public class PGValidConnectionChecker extends ValidConnectionCheckerAdapter impl conn = ((ConnectionProxy) conn).getRawObject(); } + int queryTimeout = validationQueryTimeout < 0 ? defaultQueryTimeout : validationQueryTimeout; + Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement(); + stmt.setQueryTimeout(queryTimeout); rs = stmt.executeQuery(validateQuery); return true; } finally {