【问题标题】:AbstractMethodError when using isvalid() function with mysql connection object [duplicate]将 isvalid() 函数与 mysql 连接对象一起使用时的 AbstractMethodError [重复]
【发布时间】:2014-01-12 08:43:44
【问题描述】:

我正在尝试克服 mysql 连接对象超时问题。我使用单例模式来获取连接对象。我的目的是在服务器端的 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 连接器。
  • 那么请告诉我 wt 是最新的。
  • 查看 MySQL 网站或here
  • 谢谢!!解决了...

标签: java mysql-connector sqlconnection abstract-methods


【解决方案1】:

here 更新的 Jar 帮助我毫无问题地解决了这个问题。谢谢大家!! :)

【讨论】:

    猜你喜欢
    • 2021-09-03
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 2011-01-15
    • 2021-07-12
    • 2019-04-08
    • 2019-06-26
    • 2017-04-20
    相关资源
    最近更新 更多