欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot actuator 健康檢查不通過的解決方案

 更新時間:2021年07月23日 10:45:01   作者:liuccc1  
這篇文章主要介紹了SpringBoot actuator 健康檢查不通過的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringBoot actuator 健康檢查不通過

今天遇到有個服務能夠注冊成功,但是健康檢查不通過,通過瀏覽器訪問健康檢查的url,chrome的network一直顯示pending,說明這個請求提交了,但是得不到返回,卡住了。

原來以為健康檢查就是檢查服務端口下的/health這個請求本身是否能正常返回,其實不是。

所謂健康檢查是有很多檢查項的,springboot中繼承AbstractHealthIndicator的類,比如DataSourceHealthIndicator RedisHealthIndicator 等,springboot會自動配置,比如使用了mysql的datasouce,健康檢查的時候就會執(zhí)行DataSourceHealthIndicator 的doHealthCheck(),使用了redis,就會執(zhí)行RedisHealthIndicator 的doHealthCheck()。

解決方式:

首先可以確定是否是這些外部數(shù)據(jù)源連接不了導致健康檢查不通過,可以配置

management:
  health:
    db:
      enabled: false
    redis:
      enabled: false
    elasticsearch:
      enabled: false

把系統(tǒng)中用到的都關閉健康檢查,看健康檢查是否能正常通過,如果能通過再一個個打開逐個排除問題

最終發(fā)現(xiàn)上面的pending情況就是由于mysql的url配置不對,比如端口錯誤,或者mysql用戶的權限不夠,DataSourceHealthIndicator 的doHealthCheck()會去連接mysql連接不成功,就卡在連接mysql那里了。

配置正確的url,開啟權限,解決問題。

Spring Boot健康檢查相關配置和整理

1.什么是Spring Boot的健康檢查,有什么用?

Spring Boot提供了多項組件的健康檢查,有利于監(jiān)控各組件運行狀況,但是有時開發(fā)者因此會啟動不成功,報錯等,需要合理配置。

2.Spring Boot項目中都有哪些檢查,如何配置相關檢查:

2.1首先健康檢查引入的包是

<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-actuator</artifactid>
</dependency>

2.2相關健康檢查相關Indicator

  • CassandraHealthIndicator 檢查Cassandra是否可用
  • DiskSpaceHealthIndicator 檢查磁盤空間是否不足
  • DataSourceHealthIndicator 檢查能否從DataSource獲取鏈接
  • ElasticsearchHealthIndicator 檢查Elasticsearch cluste是否可用
  • JmsHealthIndicator 檢查JMS broker是否可用
  • MailHealthIndicator 檢查mail server是否可用
  • MongoHealthIndicator 檢查Mongo database是否可用
  • RabbitHealthIndicator 檢查Rabbit server是否可用
  • RedisHealthIndicator 檢查Redis server是否可用
  • SolrHealthIndicator 檢查Solr server是否可用

可以看到,有各項外部服務的檢查,具體的請瀏覽官方文檔,這里不再贅余

2.3如何關閉/開啟健康檢查

application.properties里顯式設定

//如禁止es的健康檢查如下,默認均為開啟狀態(tài)
management.health.elasticsearch.enabled=false

也可以使用*全部禁止

management.health.*.enabled=false

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

相關文章

  • Spring Gateway基本使用示例小結

    Spring Gateway基本使用示例小結

    Springcloud Gateway使用了Webflux中的reactor-netty響應式編程組件,底層使用了Netty通訊框架,具體一些特征,本文結合實例代碼對Spring Gateway使用給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2023-11-11
  • Spring AOP的底層實現(xiàn)方式-代理模式

    Spring AOP的底層實現(xiàn)方式-代理模式

    這篇文章主要介紹了Spring AOP的底層實現(xiàn)方式-代理模式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java面向對象基礎知識之封裝,繼承,多態(tài)和抽象

    Java面向對象基礎知識之封裝,繼承,多態(tài)和抽象

    這篇文章主要介紹了Java面向對象的封裝,繼承,多態(tài)和抽象,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-11-11
  • java IP地址網(wǎng)段計算的示例代碼

    java IP地址網(wǎng)段計算的示例代碼

    這篇文章主要介紹了java IP地址網(wǎng)段計算的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Java CountDownLatch應用場景代碼實例

    Java CountDownLatch應用場景代碼實例

    這篇文章主要介紹了Java CountDownLatch應用場景代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java利用Jackson序列化實現(xiàn)數(shù)據(jù)脫敏詳解

    Java利用Jackson序列化實現(xiàn)數(shù)據(jù)脫敏詳解

    在項目中有些敏感信息不能直接展示,比如客戶手機號、身份證、車牌號等信息,展示時均需要進行數(shù)據(jù)脫敏,防止泄露客戶隱私。本文將利用Jackson序列化實現(xiàn)數(shù)據(jù)脫敏,需要的可以參考一下
    2023-03-03
  • springboot項目父子多模塊打包方式

    springboot項目父子多模塊打包方式

    這篇文章主要介紹了springboot項目父子多模塊打包方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • java實現(xiàn)Redisson的基本使用

    java實現(xiàn)Redisson的基本使用

    Redisson是一個在Redis的基礎上實現(xiàn)的Java駐內存數(shù)據(jù)網(wǎng)格客戶端,本文主要介紹了java實現(xiàn)Redisson的基本使用,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • Java 虛擬機棧詳解分析

    Java 虛擬機棧詳解分析

    在線程創(chuàng)建時,JVM會為每個線程創(chuàng)建一個單獨的??臻g。JVM的棧內存不需要是連續(xù)的。JVM在棧上會進行兩個操作:壓入和彈出棧幀。對于一個特定的線程來說,棧被稱為運行時棧。這個線程調用的每個方法會被存儲在響應的運行時棧里,包括了參數(shù),局部變量,計算媒介和其他數(shù)據(jù)
    2021-11-11
  • SpringBoot項目使用@Scheduled注解實現(xiàn)定時任務的方法

    SpringBoot項目使用@Scheduled注解實現(xiàn)定時任務的方法

    文章介紹了在SpringBoot項目中使用@Scheduled注解實現(xiàn)定時任務的三種方式:基于注解、基于接口和基于注解設定多線程定時任務,詳細講解了@Scheduled注解的使用方法、各個參數(shù)以及如何配置動態(tài)定時任務和多線程定時任務,感興趣的朋友一起看看吧
    2025-03-03

最新評論