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