本文共 426 字,大约阅读时间需要 1 分钟。
java程序部署在服务器上时,Ctrl+C关闭,或者service Servicename stop关闭时(不包括 kill -9 操作),会有一些关闭资源等操作来不及执行。
这时为了程序安全退出,我们可以使用Shutdown Hook来实现。
使用方法:
比如,添加一个方法
public void start() {
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { for(String ip:channelMap.keySet()) { clear(ip); } logger.error("unsafe shutdown,Execute Hook....."); } })); }程序启动时就调用这个start(),当程序要关闭时就会执行这里定义的线程,把要执行的操作加到这个线程的run方法里即可。
转载地址:http://bffgi.baihongyu.com/