シャットダウン フックは、Java アプリケーションが正常に終了する前に必要なクリーンアップ タスクを確実に実行するメカニズムを提供します。この記事では、シャットダウン フックの実際のアプリケーションを詳しく掘り下げ、プログラムが終了する前にデータがファイルに確実にフラッシュされるようにするシナリオを検討します。
次の Java アプリケーションについて考えてみましょう:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
このアプリケーションでは、数値のバッチをファイルに書き込みます。プログラムが中断される前にバッチが確実に終了するように、シャットダウン フックを使用します。
シャットダウン フックを統合するには、次の手順に従います。
例を示します:
keepRunning 変数を追加します:
1 |
|
run() を変更します。 Method:
1 2 3 4 |
|
main() にシャットダウン フックを追加します:
1 2 3 4 5 6 7 8 |
|
JVM がシャットダウン シグナルを受信したとき (例: Ctrl C )、シャットダウン フックは keepRunning を false に設定します。 run() メソッドは、keepRunning が false になるまでデータの書き込みを継続し、プログラムが終了する前に現在のバッチが確実に終了するようにします。
以上がJava でシャットダウン フックを使用してプログラムを正常に終了するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。