如何優(yōu)雅的關(guān)閉Springboot程序

springboot程序部署之后了,如果代碼更新,需要重新部署咋辦,粗暴的關(guān)閉方式是 kill -9 直接干掉,然后替換程序再啟動,太粗暴了點。

實際上springboot自帶的關(guān)閉程序的方法,有個模塊叫actuator。當(dāng)然actuator能做的事情有很多,其中就包含關(guān)閉程序。

配置很簡單:

1. pom 文件中引入actuator

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

2. 在application.properties中啟用shutdown管理

//actuator中遠(yuǎn)程關(guān)閉程序默認(rèn)是不打開的,需要打開

management.endpoint.shutdown.enabled=true

//actuator默認(rèn)是使用JMX來做管理的,啟動HTTP方式控制也要配置一下

management.endpoints.web.exposure.include=shutdown,info,health

就好了! 發(fā)一個HTTP POST請求就可以關(guān)閉正在運行的springboot程序了

請求地址: http://你的服務(wù)器IP/actuator/shutdown

服務(wù)器的應(yīng)答如下,程序給說bye bye

3. 這樣實現(xiàn)目的了,但其他人也可以不要密碼直接就可以關(guān)閉你的程序。最好還是把請求路徑中的actuator改一改吧,不然誰都可以POST一個請求把你的程序給關(guān)了。配置也只需在springboot配置文件中加一行即可

management.endpoints.web.base-path=/xxx_manage

改之后,就要通過發(fā)送POST請求到?http://服務(wù)器IP/xxx_manage/shutdown 來關(guān)閉應(yīng)用程序了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,256評論 6 342
  • 原文鏈接:https://docs.spring.io/spring-boot/docs/1.4.x/refere...
    pseudo_niaonao閱讀 4,881評論 0 9

友情鏈接更多精彩內(nèi)容