亲宝软件园·资讯

展开

SpringBoot注解自定义Endpoint Spring Boot 注解方式自定义Endpoint详解

LightOfMiracle 人气:6
想了解Spring Boot 注解方式自定义Endpoint详解的相关内容吗,LightOfMiracle在本文为您仔细讲解SpringBoot注解自定义Endpoint的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Spring,Boot注解,自定义注解方式,自定义Endpoint,下面大家一起来学习吧。

概述

在使用Spring Boot的时候我们经常使用actuator,健康检查,bus中使用/refresh等。这里记录如何使用注解的方式自定义Endpoint。可用于满足一些服务状态监控,或者优雅停机等。

准备

Spring Boot项目,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

启动&测试

启动后可以看到日志:

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>)

注意

Spring Boot 常用endpoint的使用

Actuator

目的

监控:让我们去发现和了解程序的运行状况各种指标

管理:比如说通过Actuator去做一个shutdown功能,通过访问一个特定的url去操作,默认是不开启的,另外 还可以在运行的过程中 对日志进行调整

访问方式

默认 会把更多的 Actuator 暴露在JMX上面

依赖

一些常用 Endpoint

只有health和info 默认是可以通过http 进行访问的

shutdown 是默认不开启的一个

threaddump 去看线程情况

Prometheus 虽然是默认开启 但是 必须在pom文件上加入相关依赖 才能提供支持

如何访问 Actuator Endpoint

HTTP 访问

端口与路径

Actuator Endpoint 发布的地址

Actuator Endpoint 发布的端口号

自定义端口

修改端点的访问路径(映射),端点默认使用的是它的 值

开启 Endpoint

开启名为id的 Endpoint

端点启用是选择性加入而不是选择性排除。表示禁用了所有端点

暴露 Endpoint

jmx方式排除需要公开的端点

jmx方式包含需要公开的端点

http方式排除需要公开的端点

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论