怎么关闭SpringBoot

本篇内容主要讲解“怎么关闭Spring Boot”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么关闭Spring Boot”吧!

创新互联专注于企业网络营销推广、网站重做改版、明溪网站定制设计、自适应品牌网站建设、H5开发商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为明溪等各大城市提供网站开发制作服务。

优雅的关闭Spring Boot

1、实现 TomcatConnectorCustomizer 接口拿到Tomcat的连接获取 Tomcat连接池

2、实现 ApplicationListener 监听服务器关闭事件,注册JVM钩子函数关闭Tomcat连接池

使用关闭钩子的注意事项

1.关闭钩子本质上是一个线程(也称为Hook线程),对于一个JVM中注册的多个关闭钩子它们将会并发执行,所以JVM并不保证它们的执行顺序;由于是并发执行的,那么很可能因为代码不当导致出现竞态条件或死锁等问题,为了避免该问题,强烈建议只注册一个钩子并在其中执行一系列操作。 2.Hook线程会延迟JVM的关闭时间,这就要求在编写钩子过程中必须要尽可能的减少Hook线程的执行时间,避免hook线程中出现耗时的计算、等待用户I/O等等操作。 3.关闭钩子执行过程中可能被强制打断,比如在操作系统关机时,操作系统会等待进程停止,等待超时,进程仍未停止,操作系统会强制的杀死该进程,在这类情况下,关闭钩子在执行过程中被强制中止。 4.在关闭钩子中,不能执行注册、移除钩子的操作,JVM将关闭钩子序列初始化完毕后,不允许再次添加或者移除已经存在的钩子,否则JVM抛出IllegalStateException异常。 5.不能在钩子调用System.exit(),否则卡住JVM的关闭过程,但是可以调用Runtime.halt()。 6.Hook线程中同样会抛出异常,对于未捕捉的异常,线程的默认异常处理器处理该异常(将异常信息打印到System.err),不会影响其他hook线程以及JVM正常退出。

到此,相信大家对“怎么关闭Spring Boot”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


文章名称:怎么关闭SpringBoot
网站URL:http://myzitong.com/article/jogdho.html