2

我遇到了在关闭 java 应用程序时调用的关闭挂钩功能。

  • 我正在使用 SIGTERM 信号在 linux Box 上关闭我的 java 进程。

  • 在关机时,我想做一些磁盘 I/O(保留一些对象)并关闭打开的文件缓冲区(最多可能需要 1 分钟)

  • 您能否建议关闭挂钩是否是此用例的安全/可靠机制

  • 如果有更好的选择,请提出建议。

4

1 回答 1

3

设计文档没有说明允许关闭挂钩线程运行多长时间。但是在字里行间阅读(有一个事实Runtime.halt,我认为你是安全的。)

现在请记住,您依赖的其他一些框架可能已经同时关闭,因此您的钩子不应依赖于您自己的代码以外的任何东西。

您可能还会发现另一个感兴趣的 SO 问题:如何优雅地停止 java 进程?.

于 2011-06-29T18:17:07.963 回答