• Spring Cloud微服务实战 打造企业级优惠券系统 3-12 SpringBoot Actuator监控2(自定义端点)


    0    课程地址

    http://coding.imooc.com/lesson/380.html#mid=28363 

    1    浓缩精华
    1.1  浓缩精华

    4.1,4.2

    2    个人关注
    3    课程内容
    4    代码演练
    4.1  自定义端点

    配置类:

    package com.imooc.springboot.application.config;
    
    import com.imooc.springboot.application.endpoint.DateTimeEndPoint;
    import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
    import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * EndPointConfig
     *
     * @author 魏豆豆
     * @date 2021/4/5
     */
    @Configuration
    public class EndPointConfig {
    
        //自己,大概是读取datetimeEndPoint的,设置端点
        //记一下
        @Bean
        @ConditionalOnMissingBean//当该bean缺少的时候注入bean
        @ConditionalOnEnabledEndpoint//当监控端点开启的时候(application.yml打开监控端点)才会注入应用程序
        public DateTimeEndPoint dateTimeEndPoint(){
            return new DateTimeEndPoint();
        }
    }

     自定义端点类

    package com.imooc.springboot.application.endpoint;
    
    import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
    import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * DateTimeEndPoint
     *
     * @author 魏豆豆
     * @date 2021/4/5
     */
    @Endpoint(id="datetime")
    public class DateTimeEndPoint{
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
    
        /**
         * 读取端点注解
         * @return
         */
        @ReadOperation//显示监控指标
        public Map<String,Object> readPoint(){
            Map<String,Object> map = new HashMap();
            map.put("name","小魏");
            map.put("age","18");
            map.put("birthday",simpleDateFormat.format(new Date()));
            return map;
        }
    }

    打印日志:

    4.2  自定义端点(写入)

    配置类(同上)

    自定义端点类:

    package com.imooc.springboot.application.endpoint;
    
    import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
    import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
    import org.springframework.boot.actuate.endpoint.annotation.WriteOperation;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * DateTimeEndPoint
     *
     * @author 魏豆豆
     * @date 2021/4/5
     */
    @Endpoint(id="datetime")
    public class DateTimeEndPoint{
        private String forMat = "yyyy-MM-dd";
    
        /**
         * 读取端点注解
         * @return
         */
        @ReadOperation//显示监控指标
        public Map<String,Object> readPoint(){
            Map<String,Object> map = new HashMap();
            map.put("name","小魏");
            map.put("age","18");
            map.put("birthday",new SimpleDateFormat(forMat).format(new Date()));
            return map;
        }
    
        //记一下
        @WriteOperation
        public void writePoint(String forMat){
            this.forMat = forMat;
        }
    
    }

    post方式写入日期格式

    get读取

    诸葛
  • 相关阅读:
    【myEcplise2015】导入喜欢的主题
    【SVN】删除SVN上的历史资源路径和SVN上的历史用户信息
    【Linux】linux命令大全
    【Linux】在虚拟机上安装CentOS7
    Spring MVC+Mybatis 多数据源配置
    Spring 加载类路径外的资源文件
    OkHttp使用详解
    在虚拟机搭建JStrom
    在Windows下搭建RocketMQ
    解决confluence的乱码问题
  • 原文地址:https://www.cnblogs.com/1446358788-qq/p/14296105.html
Copyright © 2020-2023  润新知