我正在尝试用 Java 设置我的 Oracle 数据库连接的网络超时。但是,我遇到了一个错误。下面是示例代码,它是各自的例外。
try{
conn = new Database("oracle").connect();
conn.setNetworkTimeout(null, 30000); //I don't have an Executor, so the field is set to null
System.out.println(Switch.date() + " -> Database Connection Initialized");
}
catch(SQLException ex){
Logger.getLogger(Switch.class.getName()).log(Level.SEVERE, null, ex);
}
我得到的例外是:
Exception in thread "main" java.lang.AbstractMethodError:oracle.jdbc.driver.T4CConnection.setNetworkTimeout(Ljava/util/concurrent/Executor;I)V
at ke.co.smart.Switch.<init>(Switch.java:524)
at ke.co.smart.Switch.main(Switch.java:161)
Java Result: 1
我相信它与抽象的方法有关(阅读 AbstractMethodError)。什么可能导致这个错误,因为我只实现了我认为已经在 Java 中定义的方法,因此不会拒绝编译。
注意:如果有抽象方法,Java 不允许编译具体类。