亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring Boot 注解方式自定義Endpoint詳解

 更新時(shí)間:2021年09月28日 15:43:04   作者:LightOfMiracle  
這篇文章主要介紹了Spring Boot注解方式自定義Endpoint詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

概述

在使用Spring Boot的時(shí)候我們經(jīng)常使用actuator,健康檢查,bus中使用/refresh等。這里記錄如何使用注解的方式自定義Endpoint??捎糜跐M足一些服務(wù)狀態(tài)監(jiān)控,或者優(yōu)雅停機(jī)等。

準(zhǔn)備

Spring Boot項(xiàng)目,pom中加入:

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

編寫自定義Endpoint

@Configuration
@Endpoint(id = "my-endpoint")
public class MyEndpoint {
 
    @ReadOperation
    public Map<String, Object> endpoint() {
        Map<String, Object> map = new HashMap<>(16);
        map.put("message", "this is my endpoint");
        return map;
    }
}

配置

management.endpoints.web.exposure.include=my-endpoint

啟動(dòng)&測試

啟動(dòng)后可以看到日志:

Mapped "{[/actuator/my-endpoint],methods=[GET],produces=[application/vnd.spring-boot.actuator.v2+json || application/json]}" onto public java.lang.Object org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping$OperationHandler.handle(javax.servlet.http.HttpServletRequest,java.util.Map<java.lang.String, java.lang.String>)

注意

  • @EndPoint中的id不能使用駝峰法,需要以-分割
  • @Spring Boot會(huì)去掃描@EndPoint注解下的@ReadOperation, @WriteOperation, @DeleteOperation注解,分別對應(yīng)生成Get/Post/Delete的Mapping。注解中有個(gè)produces參數(shù),可以指定media type, 如:application/json等。

Spring Boot 常用endpoint的使用

Actuator

目的

  • 監(jiān)控并管理應(yīng)用程序

監(jiān)控:讓我們?nèi)グl(fā)現(xiàn)和了解程序的運(yùn)行狀況各種指標(biāo)

管理:比如說通過Actuator去做一個(gè)shutdown功能,通過訪問一個(gè)特定的url去操作,默認(rèn)是不開啟的,另外 還可以在運(yùn)行的過程中 對日志進(jìn)行調(diào)整

訪問方式

  • HTTP
  • JMX

默認(rèn) 會(huì)把更多的 Actuator 暴露在JMX上面

依賴

  • spring-boot-starter-actuator

一些常用 Endpoint

只有health和info 默認(rèn)是可以通過http 進(jìn)行訪問的

  • shutdown 是默認(rèn)不開啟的一個(gè)
  • threaddump 去看線程情況
  • Prometheus 雖然是默認(rèn)開啟 但是 必須在pom文件上加入相關(guān)依賴 才能提供支持

如何訪問 Actuator Endpoint

HTTP 訪問

  • /actuator/<id >

端口與路徑

  • management.server.address=

Actuator Endpoint 發(fā)布的地址

  • management.server.port=

Actuator Endpoint 發(fā)布的端口號

  • management.endpoints.web.base-path=/actuator

自定義端口

  • management.endpoints.web.path-mapping.<id>=路徑

修改端點(diǎn)的訪問路徑(映射),端點(diǎn)默認(rèn)使用的是它的 值

開啟 Endpoint

  • management.endpoint.<id>.enabled=true

開啟名為id的 Endpoint

  • management.endpoints.enabled-by-default=false

端點(diǎn)啟用是選擇性加入而不是選擇性排除。表示禁用了所有端點(diǎn)

暴露 Endpoint

  • management.endpoints.jmx.exposure.exclude=

jmx方式排除需要公開的端點(diǎn)

  • management.endpoints.jmx.exposure.include=*

jmx方式包含需要公開的端點(diǎn)

  • management.endpoints.web.exposure.exclude=

http方式排除需要公開的端點(diǎn)

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

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

相關(guān)文章

  • SpringCloud的Config配置中心詳解

    SpringCloud的Config配置中心詳解

    這篇文章主要介紹了SpringCloud的Config配置中心詳解,SpringCloud Config為微服務(wù)架構(gòu)中的微服務(wù)提供集中化的外部配置支持,配置服務(wù)器為各個(gè)不同微服務(wù)應(yīng)用的所有環(huán)境提供了一個(gè)中心化的外部配置,需要的朋友可以參考下
    2023-07-07
  • 解決springcloud中Feign導(dǎo)入依賴為unknow的情況

    解決springcloud中Feign導(dǎo)入依賴為unknow的情況

    這篇文章主要介紹了解決springcloud中Feign導(dǎo)入依賴為unknow的情況,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java8新特性O(shè)ptional常用方法

    Java8新特性O(shè)ptional常用方法

    optional類是Java8新增加的一個(gè)對象容器,主要的功能有對象的創(chuàng)建、獲取、判斷、過濾,映射等,下面這篇文章主要給大家介紹了關(guān)于Java8新特性O(shè)ptional常用方法的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • 深入理解java的異常情況

    深入理解java的異常情況

    在本篇文章里小編給大家分享了關(guān)于Java的異常類型的相關(guān)知識點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下,希望能夠給你帶來幫助
    2021-09-09
  • java發(fā)送郵件示例講解

    java發(fā)送郵件示例講解

    這篇文章主要為大家詳細(xì)介紹了java發(fā)送郵件示例的全過程,溫習(xí)郵件協(xié)議,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • SpringBoot配置使Mybatis打印SQL執(zhí)行時(shí)的實(shí)際參數(shù)值操作

    SpringBoot配置使Mybatis打印SQL執(zhí)行時(shí)的實(shí)際參數(shù)值操作

    這篇文章主要介紹了SpringBoot配置使Mybatis打印SQL執(zhí)行時(shí)的實(shí)際參數(shù)值操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Java中接口和抽象類的區(qū)別與相同之處

    Java中接口和抽象類的區(qū)別與相同之處

    這篇文章主要介紹了Java中接口和抽象類的區(qū)別與相同之處,本文講解了抽象類的概念、接口的概念、接口和抽象類的區(qū)別與聯(lián)系等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • 深入了解Java中的過濾器Filter和監(jiān)聽器Listener

    深入了解Java中的過濾器Filter和監(jiān)聽器Listener

    這篇文章主要為大家詳細(xì)介紹了Java中的過濾器Filter和監(jiān)聽器Listener的使用以及二者的區(qū)別,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-06-06
  • Java實(shí)現(xiàn)LeetCode(報(bào)數(shù))

    Java實(shí)現(xiàn)LeetCode(報(bào)數(shù))

    這篇文章主要介紹了Java實(shí)現(xiàn)LeetCode(報(bào)數(shù)),本文通過使用java實(shí)現(xiàn)leetcode的報(bào)數(shù)題目和實(shí)現(xiàn)思路分析,需要的朋友可以參考下
    2021-06-06
  • JDBC連接數(shù)據(jù)庫步驟及基本操作示例詳解

    JDBC連接數(shù)據(jù)庫步驟及基本操作示例詳解

    這篇文章主要為大家介紹了JDBC連接數(shù)據(jù)庫步驟及基本操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11

最新評論