From 7b96245988c7cb236033438a441c32fa36e6744a Mon Sep 17 00:00:00 2001 From: "yilei158@126.com" Date: Sat, 16 Jul 2016 09:59:36 +0800 Subject: [PATCH] fixed: when using jtds.jar and sqljdbc4.jar driver ,the sqlserver2008 pool cannot reconnect in abnormal disconnection condition . [issues#1331] --- src/main/java/com/alibaba/druid/pool/DruidDataSource.java | 4 +++- src/main/java/com/alibaba/druid/util/JdbcConstants.java | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index 9bdd63cb4a..52bd686bad 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -945,7 +945,9 @@ public class DruidDataSource extends DruidAbstractDataSource this.validConnectionChecker = new MySqlValidConnectionChecker(); } else if (realDriverClassName.equals(JdbcConstants.ORACLE_DRIVER)) { this.validConnectionChecker = new OracleValidConnectionChecker(); - } else if (realDriverClassName.equals(JdbcConstants.SQL_SERVER_DRIVER)) { + } else if (realDriverClassName.equals(JdbcConstants.SQL_SERVER_DRIVER) + ||realDriverClassName.equals(JdbcConstants.SQL_SERVER_DRIVER_SQLJDBC4) + ||realDriverClassName.equals(JdbcConstants.SQL_SERVER_DRIVER_JTDS)) { this.validConnectionChecker = new MSSQLValidConnectionChecker(); } else if (realDriverClassName.equals(JdbcConstants.POSTGRESQL_DRIVER)) { this.validConnectionChecker = new PGValidConnectionChecker(); diff --git a/src/main/java/com/alibaba/druid/util/JdbcConstants.java b/src/main/java/com/alibaba/druid/util/JdbcConstants.java index e76e071371..7c1ee0b274 100644 --- a/src/main/java/com/alibaba/druid/util/JdbcConstants.java +++ b/src/main/java/com/alibaba/druid/util/JdbcConstants.java @@ -34,6 +34,8 @@ public interface JdbcConstants { public static final String SQL_SERVER = "sqlserver"; public static final String SQL_SERVER_DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; + public static final String SQL_SERVER_DRIVER_SQLJDBC4 = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; + public static final String SQL_SERVER_DRIVER_JTDS = "net.sourceforge.jtds.jdbc.Driver"; public static final String ORACLE = "oracle"; public static final String ORACLE_DRIVER = "oracle.jdbc.OracleDriver";