2

Java アプリケーションのシャットダウン時に呼び出されるシャットダウン フック機能に遭遇しました。

  • SIGTERM シグナルを使用して、Linux Box で Java プロセスをシャットダウンしています。

  • そして、シャットダウン時に、いくつかのディスク I/O (いくつかのオブジェクトを永続化) を実行し、開いているファイル バッファーを閉じます (最大 1 分かかる場合があります)。

  • シャットダウン フックがこのユース ケースの安全で信頼できるメカニズムであるかどうかアドバイスできますか

  • より良い代替案があれば、提案してください。

4

1 に答える 1

3

この設計ドキュメントでは、シャットダウン フック スレッドの実行が許可される期間については何も述べていません。でも行間を読む( があるということは、Runtime.halt安心だと思います。)

ここで、依存している他のフレームワークが同時にシャットダウンしている可能性があることに注意してください。そのため、フックは独自のコード以外に依存すべきではありません。

この他の SO の興味深い質問を見つけることもできます: Java プロセスを適切に停止する方法は? .

于 2011-06-29T18:17:07.963 に答える