天天看点

【Java】—— java or java web 虚拟机停止时自动执行代码(总有些代码需要在虚拟机停止时执行)

这个场景一般在关闭虚拟机时,需要等待某些任务执行完成后再关闭。

如果是虚拟机被kill -9 强制杀掉了,这时就无效了。

见代码:

Runtime.getRuntime().addShutdownHook(new Thread() {

            public void run() {
                try {
                    logger.info("## 清理某些东东");
                    要执行的业务
                } catch (Throwable e) {
                    logger.warn("##清理失败了:", e);
                } finally {
                    logger.info("## 结束了.");
                }
            }

        });