ホームページ > Java > &#&チュートリアル > Java で時間制限のあるデータベース接続チェックを実装するにはどうすればよいですか?

Java で時間制限のあるデータベース接続チェックを実装するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-17 00:00:28
オリジナル
395 人が閲覧しました

How Can I Implement Time-Bound Database Connectivity Checks in Java?

Java での時間制限のある接続チェック

目標は、指定された時間内にデータベースへの接続が失敗した場合にタイマーを確立することです。ウィンドウ、例外を開始します。

タイマー設定

Java でタイマーを開始するには:

import java.util.Timer;
...
Timer timer = new Timer();
ログイン後にコピー

1 回限りのタスクの場合:

timer.schedule(new TimerTask() {
  @Override
  public void run() {
    // Database connection code
  }
}, 2*60*1000);
ログイン後にコピー

定期的に繰り返すタスクの場合:

timer.scheduleAtFixedRate(new TimerTask() {
  @Override
  public void run() {
    // Database connection code
  }
}, 2*60*1000, 2*60*1000);
ログイン後にコピー

時間制限あり実行

タスクの実行を特定の時間枠に制限するには:

ExecutorService service = Executors.newSingleThreadExecutor();

try {
    Runnable r = new Runnable() {
        @Override
        public void run() {
            // Database connection task
        }
    };

    Future<?> f = service.submit(r);

    f.get(2, TimeUnit.MINUTES); // Attempt the task for two minutes
}
catch (InterruptedException) {
    // Interrupted while waiting
}
catch (TimeoutException) {
    // Took longer than two minutes
}
catch (ExecutionException) {
    // Exception within the task
}
finally {
    service.shutdown();
}
ログイン後にコピー

このアプローチでは、タスクが正常に完了するか、時間を超過したために例外がスローされることが保証されます。限界。タスクは制限時間後も実行を継続しますが、最終的には接続またはネットワークのタイムアウトにより終了することに注意してください。

以上がJava で時間制限のあるデータベース接続チェックを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート