- 直接杀死进程,这种方法简单快捷,但是会带来进程突然中断带来的业务损失。
- JVM优雅退出,通过注册JDK的ShutdownHook来实现,系统接收到退出指令后将不会接收新的消息,将挤压的消息处理完然后调用资源回收接口将资源销毁,最后各线程退出执行。
- 关于如何优雅的关闭一个Netty应用,最重要的是需要关闭EventLoopGroup,它将处理任何挂起的事件和任务,并且随后释放所有活动的线程,通过调用EventLoopGroup.shutdownGracefully()。该方法是一个异步方法,所以需要阻塞等待直到它完成。
- 可以在调用该方法之前调用Channel的close()方法,但是在任何情况下,都要记得关闭EventLoopGroup本身。
