package codeine.db.mysql; import org.apache.log4j.Logger; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBConnection implements IDBConnection { private int TIMEOUT_SEC = 5; private static final Logger log = Logger.getLogger(DBConnection.class); @Override public void closeConnection(Connection connection) { try { if (connection != null) { connection.close(); } } catch (SQLException e) { log.debug("fail to close connection"); } } @Override public boolean checkConnection(String host, Integer port, String user, String password) { String url = "jdbc:mysql://" + host + ":" + port + "/" + MysqlConstants.DB_NAME + "?socketTimeout=10000&connectTimeout=10000&useCompression=true"; Connection connection = null; try { connection = DriverManager.getConnection(url, user, password); return connection.isValid(TIMEOUT_SEC); } catch (SQLException e) { log.warn("error while testing connection to " + url + " " + e.getMessage()); return false; } finally { closeConnection(connection); } } }