ホームページ > Java > &#&チュートリアル > Java でデータベース接続タイムアウトを実装するにはどうすればよいですか?

Java でデータベース接続タイムアウトを実装するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-20 03:18:09
オリジナル
498 人が閲覧しました

How to Implement a Database Connection Timeout in Java?

Java でタイマーを設定する方法

この質問は、特にデータベース接続を確立するために Java でタイマーを設定する方法を理解することを目的としています。タイムアウト制限あり。

タイマー

タイマーを作成するには、java.util.Timer クラスを使用します。

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

1 回限りのタスクの場合は、次のようにスケジュールします。

timer.schedule(new TimerTask() {
  @Override
  public void run() {
    // Your database code here
  }
}, 2*60*1000); // 2 minutes in milliseconds
ログイン後にコピー

繰り返しタスクの場合は、スケジュールを設定します使用例:

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

データベース接続のタイムアウト

タイムアウト機能を実装するには、ExecutorService を使用します:

ExecutorService service = Executors.newSingleThreadExecutor();

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

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

    f.get(2, TimeUnit.MINUTES); // Attempt task for 2 minutes
} catch (TimeoutException e) {
    // Task timed out
} finally {
    service.shutdown();
}
ログイン後にコピー

データベース接続の場合2 分以内に成功または失敗した場合、タスクは通常どおり実行されます。それ以外の場合は、TimeoutException がスローされます。ただし、タスクはバックグラウンドで実行され続けるため、その点に注意してください。

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

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