欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Spring Boot2.x如何自定义Endpoint

时间:2020-10-29 11:02:04|栏目:JAVA代码|点击:

概述

在使用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;
  }
}

1.配置

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

2.启动&测试

启动后可以看到日志:

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

3.注意

  • @EndPoint中的id不能使用驼峰法,需要以-分割。
  • @Spring Boot会去扫描@EndPoint注解下的@ReadOperation, @WriteOperation, @DeleteOperation注解,分别对应生成Get/Post/Delete的Mapping。注解中有个produces参数,可以指定media type, 如:application/json等。

上一篇:java实现学生管理系统(面向对象)

栏    目:JAVA代码

下一篇:Lambda表达式和Java集合框架

本文标题:Spring Boot2.x如何自定义Endpoint

本文地址:http://www.codeinn.net/misctech/16900.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有