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 サイトの他の関連記事を参照してください。