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 {