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)用程序了