SpringBoot2.3优雅停机新特性如何详细解析?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1023个文字,预计阅读时间需要5分钟。
什么是优雅停机?
优雅停机是指当应用程序需要关闭时,能够以一种有序的方式终止所有正在运行的任务,释放资源,并确保数据的一致性和完整性。
以下是一段简单的代码示例:
java@RestControllerpublic class DemoController {
@GetMapping(/demo) public String demo() throws InterruptedException { // 模拟业务耗时处理流程 Thread.sleep(20 * 1000L); return r; }}
什么是优雅停机
先来一段简单的代码,如下:
@RestController public class DemoController { @GetMapping("/demo") public String demo() throws InterruptedException { // 模拟业务耗时处理流程 Thread.sleep(20 * 1000L); return "hello"; } }
当我们流量请求到此接口执行业务逻辑的时候,若服务端此时执行关机 (kill),spring boot 默认情况会直接关闭容器(tomcat 等),导致此业务逻辑执行失败。在一些业务场景下:会出现数据不一致的情况,事务逻辑不会回滚。
本文共计1023个文字,预计阅读时间需要5分钟。
什么是优雅停机?
优雅停机是指当应用程序需要关闭时,能够以一种有序的方式终止所有正在运行的任务,释放资源,并确保数据的一致性和完整性。
以下是一段简单的代码示例:
java@RestControllerpublic class DemoController {
@GetMapping(/demo) public String demo() throws InterruptedException { // 模拟业务耗时处理流程 Thread.sleep(20 * 1000L); return r; }}
什么是优雅停机
先来一段简单的代码,如下:
@RestController public class DemoController { @GetMapping("/demo") public String demo() throws InterruptedException { // 模拟业务耗时处理流程 Thread.sleep(20 * 1000L); return "hello"; } }
当我们流量请求到此接口执行业务逻辑的时候,若服务端此时执行关机 (kill),spring boot 默认情况会直接关闭容器(tomcat 等),导致此业务逻辑执行失败。在一些业务场景下:会出现数据不一致的情况,事务逻辑不会回滚。

