実装する必要があります
boolean isValid(int timeout)
java.sql.Connectionのjdk6のように。ただし、Oracleシンドライバクラスを使用する必要があります12。小さなクエリを実行できることは明らかですが、タイムアウトはどうですか?別のスレッドを作成する必要がありますか?ありがとう。
実装する必要があります
boolean isValid(int timeout)
java.sql.Connectionのjdk6のように。ただし、Oracleシンドライバクラスを使用する必要があります12。小さなクエリを実行できることは明らかですが、タイムアウトはどうですか?別のスレッドを作成する必要がありますか?ありがとう。
OJDB7の場合:
isValid(int timeout) -メソッドpingDatabase(int i)
pingDatabase()のラッパーです-クエリ "SELECT'x'FROMDUAL"を作成します。
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;
}