新特性:这招牛逼,Spring Boot 2.3.0 如何优雅停机?
原文: https://mp.weixin.qq.com/s/uvNkdcmwkd6lcSRDhjPUJQ 1.什么是优雅停机 先来一段简单的代码, 如下: @RestController public class DemoController { @GetMapping("/demo") public String demo() throws InterruptedException { // 模拟业务耗时处理流程 Thread.sleep(20 * 1000L); return "hello"; } } 当我们流量请求到此接口执行业务逻辑的时候, 若服务端此时执行关机 (kill), spring boot 默认情况会直接关闭容器(tomcat 等), 导致此业务逻辑执行失败。在一些业务场景下:会出现数据不一致的情况, 事务逻辑不会回滚。 2.graceful shutdown 在最新的 spring boot 2.3 版本, 内置此功能, 不需要再自行扩展容器线程池来处理, 目前 spring boot 嵌入式支持的 web 服务器(Jetty、Reactor Netty、Tomcat 和 Undertow)以及反应式和基于 Servlet 的 web 应用程序都支持优雅停机功能。我们来看下如何使用: 当使用 server.shutdown=graceful 启用时, 在