|
|
|
@ -1,19 +1,32 @@
|
|
|
|
|
//
|
|
|
|
|
// Source code recreated from a .class file by IntelliJ IDEA
|
|
|
|
|
// (powered by Fernflower decompiler)
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
* Copyright 1999-2017 Alibaba Group Holding Ltd. |
|
|
|
|
* |
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
|
* You may obtain a copy of the License at |
|
|
|
|
* |
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
* |
|
|
|
|
* Unless required by applicable law or agreed to in writing, software |
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
|
|
|
* See the License for the specific language governing permissions and |
|
|
|
|
* limitations under the License. |
|
|
|
|
*/ |
|
|
|
|
package com.fr.third.alibaba.druid.pool.vendor; |
|
|
|
|
|
|
|
|
|
import com.fr.third.alibaba.druid.pool.ValidConnectionChecker; |
|
|
|
|
import com.fr.third.alibaba.druid.pool.ValidConnectionCheckerAdapter; |
|
|
|
|
import com.fr.third.alibaba.druid.util.JdbcUtils; |
|
|
|
|
|
|
|
|
|
import java.io.Serializable; |
|
|
|
|
import java.sql.Connection; |
|
|
|
|
import java.sql.SQLException; |
|
|
|
|
import java.sql.Statement; |
|
|
|
|
|
|
|
|
|
import com.fr.third.alibaba.druid.pool.ValidConnectionChecker; |
|
|
|
|
import com.fr.third.alibaba.druid.pool.ValidConnectionCheckerAdapter; |
|
|
|
|
import com.fr.third.alibaba.druid.util.JdbcUtils; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* A MSSQLValidConnectionChecker. |
|
|
|
|
*/ |
|
|
|
|
public class MSSQLValidConnectionChecker extends ValidConnectionCheckerAdapter implements ValidConnectionChecker, Serializable { |
|
|
|
|
|
|
|
|
|
private static final long serialVersionUID = 1L; |
|
|
|
@ -22,33 +35,30 @@ public class MSSQLValidConnectionChecker extends ValidConnectionCheckerAdapter i
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public boolean isValidConnection(Connection c, String validateQuery, int validationQueryTimeout) throws Exception { |
|
|
|
|
public boolean isValidConnection(final Connection c, String validateQuery, int validationQueryTimeout) throws Exception { |
|
|
|
|
|
|
|
|
|
if (c.isClosed()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (validateQuery == null || validateQuery.isEmpty()) { |
|
|
|
|
validateQuery = "select 1"; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (c.isClosed()) { |
|
|
|
|
return false; |
|
|
|
|
} else { |
|
|
|
|
Statement stmt = null; |
|
|
|
|
|
|
|
|
|
boolean var5; |
|
|
|
|
try { |
|
|
|
|
stmt = c.createStatement(); |
|
|
|
|
if (validationQueryTimeout > 0) { |
|
|
|
|
stmt.setQueryTimeout(validationQueryTimeout); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
stmt.execute(validateQuery); |
|
|
|
|
var5 = true; |
|
|
|
|
} catch (SQLException var9) { |
|
|
|
|
throw var9; |
|
|
|
|
} finally { |
|
|
|
|
JdbcUtils.close(stmt); |
|
|
|
|
Statement stmt = null; |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
stmt = c.createStatement(); |
|
|
|
|
if (validationQueryTimeout > 0) { |
|
|
|
|
stmt.setQueryTimeout(validationQueryTimeout); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return var5; |
|
|
|
|
stmt.execute(validateQuery); |
|
|
|
|
return true; |
|
|
|
|
} catch (SQLException e) { |
|
|
|
|
throw e; |
|
|
|
|
} finally { |
|
|
|
|
JdbcUtils.close(stmt); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |