最近新建了個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