日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本文介紹了如何在Java代碼中訪問Spring執(zhí)行器運(yùn)行狀況檢查的結(jié)果?的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我已經(jīng)設(shè)置了一個(gè)帶有端點(diǎn)/Actuator/Health的Health Check執(zhí)行器,當(dāng)您轉(zhuǎn)到URL時(shí),它會(huì)為我的應(yīng)用程序生成類似以下內(nèi)容:

{"status":"UP","app":{"status":"UP"},"db":{"status":"UP"}}

有沒有辦法可以使用SpringAPI在我的Java代碼中訪問這些結(jié)果?我正在監(jiān)視任何發(fā)生故障的情況,并在發(fā)生故障時(shí)發(fā)送延遲通知,我對(duì)監(jiān)視數(shù)據(jù)庫何時(shí)發(fā)生故障特別感興趣。我已經(jīng)有了創(chuàng)建松弛通知的方法,我只需要發(fā)生故障的組件的名稱(即db)。

有人能幫忙嗎?

希望我的問題有道理,我還是個(gè)新手。

編輯:我已經(jīng)@Override Health,如果整個(gè)應(yīng)用程序都關(guān)閉了,它就會(huì)進(jìn)入這個(gè)階段,不確定在這個(gè)階段是否有方法可以獲得當(dāng)時(shí)還關(guān)閉的內(nèi)容(db等)并傳遞到Sack方法中?:

    @Override
    public Health health() {
        System.out.println("HealthIndicator called at " + LocalDateTime.now() + " state=" + (state?"Up":"Down"));
        if(state) {
            return Health.up().build();
        } else { 
    triggerSlackNotifications(failedComponent, status);
            return Health.down().build();
        }
    }

推薦答案

要獲取有關(guān)運(yùn)行狀況的更多詳細(xì)信息,您可以在application.properties

中添加以下內(nèi)容

management.endpoint.health.enabled=true
management.endpoint.health.show-details=always

之后,您將獲得更多信息,如下所示。

{
    "status": "UP",
    "details": {
        "diskSpace": {
            "status": "UP",
            "details": {
                "total": 467848392704,
                "free": 69999702016,
                "threshold": 10485760
            }
        },
        "db": {
            "status": "UP",
            "details": {
                "database": "MySQL",
                "hello": 1
            }
        },
        "mail": {
            "status": "UP",
            "details": {
                "location": "smtp.gmail.com:<port>"
            }
        }
    }
}

解決方案

@GetMapping("/statusDB")
    public String healthCheck() throws IOException, JSONException
    {

          StringBuilder result = new StringBuilder();
          URL url = new URL("http://localhost:8080/actuator/health");
          HttpURLConnection conn = (HttpURLConnection) url.openConnection();
          conn.getResponseCode();
          BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
          String line;
          while ((line = rd.readLine()) != null) {
             result.append(line);
          }
          rd.close();
          System.out.println("Result: "+result.toString());

          JSONObject jsonObject =new JSONObject(result.toString());
          System.out.println("jsonObject: "+jsonObject);

          return "Status of Database is "+jsonObject.getJSONObject("details").getJSONObject("db").get("status");
    }

這篇關(guān)于如何在Java代碼中訪問Spring執(zhí)行器運(yùn)行狀況檢查的結(jié)果?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,

分享到:
標(biāo)簽:Java 代碼 如何在 執(zhí)行器 檢查 訪問 運(yùn)行狀況
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評(píng)定2018-06-03

通用課目體育訓(xùn)練成績評(píng)定