最近新建了个SpringBoot2.0的项目,由于原来一直使用的是传统的Tomcat部署war包的形式,因此此次SpringBoot内置Tomcat部署jar包的时候遇到了不少问题。其中一个就是由于没有外置的Tomcat容器致使没法按原来的方法优雅停机。
通过了反复的搜索发现SpringBoot能够引用spring-boot-starter-actuator来暴露shutdown端口。web
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
在pom文件中加入上面的代码就OK了。
再在application.properties中加入下面的配置,这里注意2.0和1.0的配置项不同。spring
management.endpoint.shutdown.enabled=true
将下面的地址端口换成实际的地址端口,以后输入命令行。安全
curl -X POST localhost:port/actuator/shutdown
你就会发现404了!这就是最坑的地方,在SpringBoot1.0的时候这里已经收到{"message": "Shutting down, bye..."}了。可是2.0还须要在application.properties加入一个配置项,将shutdown接口暴露出去。app
management.endpoints.web.exposure.include=shutdown
这时SpringBoot2.0就能够优雅停机了,固然随便这样暴露接口并不安全,再加入一些安全的配置就OK了。curl
https://blog.csdn.net/zhongzunfa/article/details/79482147spring-boot