我有 Java 的产品服务。在我们的代码中,我正在创建关闭 Hook ,但是当我停止服务时,它不会一致地调用关闭 Hook 。在 5 次停止调用中,它只调用了一次 shutdown hook。
Runnable shutdownHandler = new Runnable() {
@Override
public void run() {
s_log.info("Shutting down thread..");
}
};
Runtime.getRuntime().addShutdownHook(
new Thread(shutdownHandler, "shutdownthread"));
有人可以告诉我这不被一致调用的原因是什么吗?
最佳答案
检查以下代码:
Runnable shutdownHandler = new Runnable() {
@Override
public void run() {
System.out.println("Shutting down thread..");
}
};
Runtime.getRuntime().addShutdownHook(
new Thread(shutdownHandler, "shutdownthread"));
如果它为您提供了预期的输出,您需要检查日志框架的文档。
关于Java 关闭 Hook 未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35901902/