最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot之如何正確、安全的關(guān)閉服務(wù)

 更新時(shí)間:2023年03月09日 15:09:19   作者:胖虎。。  
這篇文章主要介紹了SpringBoot之如何正確、安全的關(guān)閉服務(wù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

SpringBoot正確安全的關(guān)閉服務(wù)

我們利用遠(yuǎn)程關(guān)閉功能可以實(shí)現(xiàn)優(yōu)雅地關(guān)閉指定地服務(wù)。

正文

本文依然使用v1.5.8.RELEASE ,講地是利用actuatorEndpoints實(shí)現(xiàn)關(guān)閉服務(wù)

首先準(zhǔn)備一個(gè)eureka服務(wù),然后啟動(dòng)他。

然后準(zhǔn)備一個(gè)eureka客戶端服務(wù),客戶端的pom除了必要的springboot的web依賴還需要添加依賴如下

<dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-actuator</artifactId>
 </dependency>

在eureka客戶端服務(wù)的application.properties文件開(kāi)啟shutdown endpoint,SpringBoot的endpoints.shutdown.enabled默認(rèn)是關(guān)閉的。

eureka.client.service-url.defaultZone=http://admin:admin@localhost:1111/eureka/
server.port=8762
spring.application.name=eureka-client
#啟用shutdown
endpoints.shutdown.enabled=true
#禁用密碼驗(yàn)證
endpoints.shutdown.sensitive=false
 
#如果用的2.x版本的 就用注釋的那四行配置
#management.endpoints.shutdown.enabled=true
#management.endpoints.health.enabled=true
#management.endpoints.web.base-path=/
#management.endpoints.web.exposure.include=*

配置已經(jīng)配好,這時(shí)可以啟動(dòng)服務(wù)了,將他注冊(cè)在eureka上面,這時(shí)我們可以看到下面

然后在終端執(zhí)行 curl -X POST 127.0.0.1:8762/shutdown ,可以看到message:Shutting down,bye...說(shuō)明成功關(guān)閉了服務(wù)

下面筆者要教給大家一種高級(jí)使用的方法,做了一個(gè)安全的認(rèn)證,上面關(guān)閉服務(wù)的缺點(diǎn)大家顯而易見(jiàn),知道服務(wù)端口和ip的就能關(guān)閉,這種做法很不安全,接下來(lái)要在客戶端服務(wù)配置一下安全認(rèn)證。

首先在eureka客戶端服務(wù)的application.properties文件追加配置

eureka.client.service-url.defaultZone=http://admin:admin@localhost:1111/eureka/
server.port=8762
spring.application.name=eureka-client
management.security.enabled=true
#啟用shutdown
endpoints.shutdown.enabled=true
#禁用密碼驗(yàn)證
endpoints.shutdown.sensitive=true
#驗(yàn)證用戶名
security.user.name=admin
#驗(yàn)證密碼
security.user.password=admin
#角色
management.security.role=SUPERUSER
#指定shutdown endpoint的路徑
endpoints.shutdown.path=/custompath
#也可以統(tǒng)一指定所有endpoints的路徑`management.context-path=/manage`
#指定管理端口和IP
management.port=8081
management.address=127.0.0.1

我們使用了security,就需要在pom添加依賴

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-security</artifactId>
</dependency>

大功告成,是不是很簡(jiǎn)單,下面啟動(dòng)你的客戶端服務(wù),這里我就不貼一些多余的圖片了,成功注冊(cè)到eureka上面了,和上面的圖一樣。

接下來(lái)使用終端訪問(wèn) curl -X POST -u admin:admin 127.0.0.1:8081/custompath

看見(jiàn)了你的服務(wù)又和你say byebye了吧! 

這個(gè)命令  curl -X POST -u admin:admin 127.0.0.1:8081/custompath  每一個(gè)位置對(duì)應(yīng)的參數(shù)值大家可以看application.properties文件分別對(duì)應(yīng)了哪些配置就明白了。

SpringBoot2.0.4關(guān)閉程序,我走過(guò)的那些坑

首次接觸springboot項(xiàng)目,在本地測(cè)試的時(shí)候,發(fā)現(xiàn)不知道怎么關(guān)閉程序,雖然后來(lái)不得不用殺死進(jìn)程的方式解決,但總覺(jué)得這種方式太簡(jiǎn)單粗暴。就準(zhǔn)備問(wèn)問(wèn)度娘別人都是怎么做的。

結(jié)果普遍答案是:

步驟:

第一步:引入依賴

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

第二步:application.properties配置

 
# 啟用shutdown
endpoints.shutdown.enabled=true
 
# 禁用密碼驗(yàn)證
endpoints.shutdown.sensitive=false

第三步:http://IP:端口號(hào)/actuator/shutdown或者h(yuǎn)ttp://IP:端口號(hào)/shutdown

結(jié)果:

404!!?。。。?!

為什么總是404?

后來(lái)幡然醒悟,別人都是springboot 1.X,而我的是2.X。(springboot變化好大o(╥﹏╥)o)

接著,我繼續(xù)查2.0以上版本怎么解決,結(jié)果大多數(shù)是在啟動(dòng)類(lèi)加一推代碼……可能是我不會(huì)用吧,反正沒(méi)成功。繼續(xù)找……

后來(lái)看到大多數(shù)人又說(shuō),下面的方式配置:

management:
  endpoints:
    web:
      exposure:
        include: "*"

然后看日志,發(fā)現(xiàn)所有的端點(diǎn)都打開(kāi)了,就shutdown沒(méi)打開(kāi)o(╥﹏╥)o

實(shí)在找不到相關(guān)博客了,就去官網(wǎng)找答案

官網(wǎng)鏈接https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html

原來(lái)人家默認(rèn)是關(guān)著的,那就打開(kāi)呀!于是我以為發(fā)現(xiàn)了新大陸,就去打開(kāi),據(jù)需看官網(wǎng),看到這樣一句。

management.endpoint.shutdown.enabled=true

 添加上去,果然成功!

但是,過(guò)程中我曾經(jīng)寫(xiě)成了這樣:

##錯(cuò)誤寫(xiě)法!?。。。。。。。。。。。。。。?!
management:
  endpoints:
    web:
      exposure:
       include: "*" 
    shutdown:
      enabled: true

注意哈,這是錯(cuò)誤寫(xiě)法,我把endpoints當(dāng)成了endpoint?。?!他們可是不一樣的??! 

最終寫(xiě)法:

management:
  endpoints:
    web:
      exposure:
       include: shutdown 
    #注意下面這個(gè)位置??!
  endpoint:
    shutdown:
      enabled: true

注:include后面可以添加你想用到的端點(diǎn) 。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java實(shí)現(xiàn)創(chuàng)建Zip壓縮包并寫(xiě)入文件

    Java實(shí)現(xiàn)創(chuàng)建Zip壓縮包并寫(xiě)入文件

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)創(chuàng)建Zip壓縮包并寫(xiě)入文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 高并發(fā)下如何避免重復(fù)數(shù)據(jù)產(chǎn)生技巧

    高并發(fā)下如何避免重復(fù)數(shù)據(jù)產(chǎn)生技巧

    這篇文章主要為大家介紹了高并發(fā)下如何避免重復(fù)數(shù)據(jù)的產(chǎn)生技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Java獲取鏈接上的參數(shù)三種方法舉例

    Java獲取鏈接上的參數(shù)三種方法舉例

    在Java中,我們經(jīng)常需要從URL鏈接中獲取參數(shù),下面這篇文章主要給大家介紹了關(guān)于Java如何獲取鏈接上參數(shù)的三種方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • @Configuration保證@Bean單例語(yǔ)義方法介紹

    @Configuration保證@Bean單例語(yǔ)義方法介紹

    這篇文章主要介紹了SpringBoot中的@Configuration與@Bean注解,在進(jìn)行項(xiàng)目編寫(xiě)前,我們還需要知道一個(gè)東西,就是SpringBoot對(duì)我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們?cè)谥笫褂貌艜?huì)更加得心應(yīng)手
    2023-01-01
  • Java使用EasyExcel實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出

    Java使用EasyExcel實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出

    這篇文章主要給大家介紹了關(guān)于Java使用EasyExcel實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出,在各種系統(tǒng)中,導(dǎo)入導(dǎo)出的數(shù)據(jù)一般都是通過(guò)Excel來(lái)完成的,需要的朋友可以參考下
    2023-07-07
  • 詳解hibernate雙向多對(duì)多關(guān)聯(lián)映射XML與注解版

    詳解hibernate雙向多對(duì)多關(guān)聯(lián)映射XML與注解版

    本篇文章主要介紹了詳解hibernate雙向多對(duì)多關(guān)聯(lián)映射XML與注解版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • java中關(guān)于移位運(yùn)算符的demo與總結(jié)(推薦)

    java中關(guān)于移位運(yùn)算符的demo與總結(jié)(推薦)

    下面小編就為大家?guī)?lái)一篇java中關(guān)于移位運(yùn)算符的demo與總結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • Spring?Boot?Security認(rèn)證之Redis緩存用戶信息詳解

    Spring?Boot?Security認(rèn)證之Redis緩存用戶信息詳解

    本文介紹了如何使用Spring Boot Security進(jìn)行認(rèn)證,并通過(guò)Redis緩存用戶信息以提高系統(tǒng)性能,通過(guò)配置RedisUserDetailsManager,我們成功地將用戶信息存儲(chǔ)到了Redis中,并在Spring Security中進(jìn)行了集成,需要的朋友可以參考下
    2024-01-01
  • IDEA創(chuàng)建Servlet程序的兩種實(shí)現(xiàn)方法

    IDEA創(chuàng)建Servlet程序的兩種實(shí)現(xiàn)方法

    Servlet是JavaWeb應(yīng)用程序中不可或缺的組件之一,本文主要介紹了IDEA創(chuàng)建Servlet程序的兩種實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • 使用EasyPoi實(shí)現(xiàn)多Sheet頁(yè)導(dǎo)出的示例代碼

    使用EasyPoi實(shí)現(xiàn)多Sheet頁(yè)導(dǎo)出的示例代碼

    在項(xiàng)目開(kāi)發(fā)中,我們常常會(huì)遇到導(dǎo)出多Sheet頁(yè)的需求,本文降維打擊介紹一下如何使用EasyPoi實(shí)現(xiàn)這一功能,文中的示例代碼簡(jiǎn)潔易懂,有需要的可以參考下
    2025-03-03

最新評(píng)論

江华| 遵义县| 衡阳市| 山东| 绍兴县| 嘉义县| 栾城县| 黔西| 永平县| 泰兴市| 临猗县| 江阴市| 祁门县| 抚顺市| 永登县| 阿拉善盟| 喜德县| 增城市| 台南市| 太原市| 称多县| 揭阳市| 铜陵市| 漳浦县| 威信县| 千阳县| 西乌| 蒙山县| 墨玉县| 恩施市| 巧家县| 明星| 纳雍县| 吴忠市| 高要市| 云南省| 文成县| 大渡口区| 德保县| 祥云县| 衡东县|