• SpringBoot SpringBoot 开发实用篇 6 监控 6.7 自定义端点


    SpringBoot

    【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】

    SpringBoot 开发实用篇

    6 监控

    6.7 自定义端点
    6.7.1 问题引入

    之前我们已经完成了info、健康、性能指标的修改

    在这里插入图片描述

    现在问题来了,现在做的东西都是在之前人家有的端点上面进行修改,能不能我自己来个端点?

    【答案是肯定的】

    6.7.2 自定义端点

    直接新建一个“端点类”

    package com.dingjiaxiong.actuator;
    
    import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
    import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
    import org.springframework.stereotype.Component;
    
    /**
     * ClassName: PayEndpoint
     * date: 2022/10/24 10:01
     *
     * @author DingJiaxiong
     */
    
    @Component
    @Endpoint(id = "pay",enableByDefault = true)
    public class PayEndpoint {
    
        @ReadOperation
        public void getPay(){
            System.out.println("=============");
            System.out.println("=====pay=====");
            System.out.println("=============");
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    直接重启服务

    在这里插入图片描述

    在postman 中看看能否查到这个端点

    在这里插入图片描述

    OK,很明显, 我们自定义的端点已经进来了

    直接调一下

    在这里插入图片描述

    可以看到已经执行了,说明添加成功了,但是前端没有信息返回,

    在这里插入图片描述

    给它加上

    package com.dingjiaxiong.actuator;
    
    import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
    import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
    import org.springframework.stereotype.Component;
    
    /**
     * ClassName: PayEndpoint
     * date: 2022/10/24 10:01
     *
     * @author DingJiaxiong
     */
    
    @Component
    @Endpoint(id = "pay",enableByDefault = true)
    public class PayEndpoint {
    
        @ReadOperation
        public Object getPay(){
            System.out.println("=============");
            System.out.println("=====pay=====");
            System.out.println("=============");
            
            return "你支付,我快乐";
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    再次运行

    在这里插入图片描述

    查看面板

    在这里插入图片描述

    返回json 数据

    package com.dingjiaxiong.actuator;
    
    import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
    import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
    import org.springframework.stereotype.Component;
    
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * ClassName: PayEndpoint
     * date: 2022/10/24 10:01
     *
     * @author DingJiaxiong
     */
    
    @Component
    @Endpoint(id = "pay",enableByDefault = true)
    public class PayEndpoint {
    
        @ReadOperation
        public Object getPay(){
            Map map = new HashMap();
            map.put("level 1","300");
            map.put("level 2","200");
            map.put("level 3", "100");
    
            return map;
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    内部会自动转换

    OK。重启服务

    在这里插入图片描述

    OK, 自定义端点差不多就是这样了

    回顾一下

    • 自定义端点

    在这里插入图片描述

    6.7.3 小结
    1. 自定义端点
    6.7.4 总结
    1. 监控的意义
    2. 可视化监控平台————Spring Boot Admin
    3. 监控原理————Actuator
    4. 自定义监控指标
    • 系统端点添加监控指标
    • 自定义端点
    6.7.5 开发实用篇小结

    在这里插入图片描述

  • 相关阅读:
    【C语言】动态内存管理
    pyModbusTCP 读取零点 CN- 8031 /CT-121F DI 数字输入
    ==和equals()的区别
    C++项目实战-高并发服务器详析
    Docker使用总结
    Cache与内存映射
    java毕业设计车辆保险管理系统Mybatis+系统+数据库+调试部署
    边缘计算网关的主要功能有哪些?天拓四方
    【Python脚本进阶】2.2、构建一个SSH僵尸网络(上):SSH交互脚本
    广州xx策划公司MongoDB恢复-2023.09.09
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/128031405