Я пытаюсь преодолеть проблему тайм-аута объекта соединения mysql. Я использую singleton pattern для получения объекта соединения. Мое намерение состоит в том, чтобы повторно инициализировать объект соединения при тайм-аутах объектов mysql на стороне сервера. Ниже мой код:AbstractMethodError при использовании функции isvalid() с объектом подключения mysql
public static Connection getConnection() {
try {
// con = dataSource.getConnection();
if(con==null || !con.isValid(0)){
logger.info("Creating new connection object...");
Class.forName(driver);
con = DriverManager.getConnection(url + "/" + dbName, userName, pass);
if(con!=null) logger.info("Connection object creation successful!!");
}else{
logger.info("Returning existing connection object...");
}
} catch (ClassNotFoundException ex) {
logger.error(ex);
} catch (SQLException ex) {
logger.error(ex);
}
return con;
}
Ниже сообщение об ошибке я получаю при попытке использовать isValid
метод:
java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
at com.abc.xml2pdf.db.DBUtil.getConnection(DBUtil.java:66)
at com.abc.xml2pdf.dao.RequestTracking.persistRequest(RequestTracking.java:137)
at com.abc.xml2pdf.dao.RequestTracking.trackRequest(RequestTracking.java:78)
at com.abc.xml2pdf.controller.LoginServlet.doGet(LoginServlet.java:61)
at com.abc.xml2pdf.controller.LoginServlet.doPost(LoginServlet.java:79)
Когда я копаться в проблеме, я обнаружил, что isValid()
метод не реализован в com.mysql.jdbc.Connection
, Я что-то упускаю. Или я не смогу использовать isValid
с соединителем mysql. Я использую последний mysql connector 5.0.8. Просьба уточнить. Благодарю.
5.0.8 не является последним разъемом mysql. –
Пожалуйста, скажите мне, какой у вас последний. – Vivek
Проверьте сайт MySQL или [здесь] (http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.27) –