Java shutdown hook没有运行

时间:2016-03-09 20:28:31

标签: java

我在java中有一个产品服务。在我们的代码中,我正在创建关闭挂钩,但是当我停止服务时,它不会一直调用关闭挂钩。在5次停止调用中,它只调用了一次关闭钩子。

Runnable shutdownHandler = new Runnable()
            {

                @Override
                public void run()
                {
                    s_log.info("Shutting down thread..");

                }

            };

            Runtime.getRuntime().addShutdownHook(
                    new Thread(shutdownHandler, "shutdownthread"));

有人可以告诉我这可能是什么原因导致这种情况不能被一致地召唤出来?

由于

1 个答案:

答案 0 :(得分:0)

检查以下代码:

Runnable shutdownHandler = new Runnable() {
    @Override
    public void run() {
        System.out.println("Shutting down thread..");
    }
};

Runtime.getRuntime().addShutdownHook(
        new Thread(shutdownHandler, "shutdownthread"));

,如果它能提供预期的输出,则需要检查日志记录框架的文档。