可以将关闭挂钩用于稍长的任务

时间:2011-06-29 17:54:46

标签: java shutdown-hook

我遇到了关闭钩子的功能,当java应用程序关闭时会调用它。

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

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

  • 您能否告知关闭钩子是否是此用例的安全/可靠机制

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

1 个答案:

答案 0 :(得分:3)

这个design document没有说明允许关闭钩子线程运行多长时间。但是在两行之间进行阅读(事实上有Runtime.halt,我认为你是安全的。)

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

您可能还会发现其他感兴趣的问题:How to stop java process gracefully?