我遇到过关闭钩子(Hook)功能,当java应用程序关闭时会调用该功能。
我正在使用 SIGTERM 信号关闭 Linux Box 上的 java 进程。
在关闭时,我想做一些磁盘 I/O(保留一些对象)并关闭打开的文件缓冲区(最多可能需要 1 分钟)
您能否建议关闭 Hook 是否是此用例的安全/可靠机制
如果有更好的选择,请提出。
最佳答案
这个design document没有说明允许关闭钩子(Hook)线程运行多长时间。但从字里行间看出来(事实上,有一个 Runtime.halt,我认为你是安全的。)
现在请记住,您依赖的一些其他框架可能已同时关闭,因此您的钩子(Hook)不应依赖于您自己的代码之外的任何其他框架。
您可能还会发现其他感兴趣的问题:How to stop java process gracefully? .
关于java - 关闭钩子(Hook)可以用于稍长的任务吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6525084/