0
我需要实现如何实现与Oracle驱动程序classes12一起使用的isValid连接?
boolean isValid(int timeout)
像JDK6为java.sql.Connection中。但应该使用Oracle瘦驱动程序classes12。 很明显,我可以运行小查询,但超时是什么?我应该为它创建单独的线程吗? 谢谢。
我需要实现如何实现与Oracle驱动程序classes12一起使用的isValid连接?
boolean isValid(int timeout)
像JDK6为java.sql.Connection中。但应该使用Oracle瘦驱动程序classes12。 很明显,我可以运行小查询,但超时是什么?我应该为它创建单独的线程吗? 谢谢。
对于OJDB7:
的isValid(INT超时) - 是对方法pingDatabase一个包装(int i)以
pingDatabase() - 使查询 “SELECT 'X' FROM DUAL”。
pingDatabase(int i) - 在单独的线程中进行相同的查询。
答案 - 是的,你必须在一个单独的线程中提出一个小的请求。
try {
Thread thread = new Thread(new Runnable() {
public void run() {
try {
result = ...make query and verify result
} catch(Throwable throwable) {
return false;
}
}
});
thread.start();
thread.join(timeout);
return result;
catch(InterruptedException interruptedexception) {
return false;
}
为什么不直接使用Oracle JDBC Driver for Java 6? – 2012-07-05 18:28:45
我无法选择。它不依赖于我。如果可以的话 - 我从来不问这个问题。 – user710818 2012-07-05 18:30:38
我不知道你的意思。你为什么不能使用它?考虑到您可以修改Java 1.2 Oracle JDBC驱动程序,以便您可以在Java 6下使用它,这是愚蠢的,因为您只能获得Java 6驱动程序。 – 2012-07-05 18:34:18