spring java 动态获取consul K/V

spring java 动态获取consul K/V

1.springConsul配置kv路径

spring:cloud:consul:enabled: ${CONSUL_ENABLED:true}host: ${CONSUL_HOST:localhost}port: ${CONSUL_PORT:8500}config:prefix: ${CONSUL_CONFIG_PREFIX:config} #consul kv前缀fail-fast: ${CONFIG_FAIL_FAST:false} #两个fail-fast结合实现启动服务时当consul不存在时服务能正常启动format: YAML    # 表示consul上面文件的格式 有四种 YAML PROPERTIES KEY-VALUE FILESdata-key: ${CONSUL_DATA_KEY:data}    #表示consul上面的KEY值(或者说文件的名字) 默认是data# watch选项为配置监视功能,主要监视配置的改变watch:enabled: truedelay: ${WATCH_DELAY:${consul.watch.delay:2000}}wait-time: ${WATCH_WAIT-TIME:20}default-context: ${CONSUL_DEFAULT_CONTEXT:baseconfig}prefixes:- configdiscovery:fail-fast: ${DISCOVERY_FAIL_FAST:false}catalogServicesWatchDelay: ${CONSUL_DISCOVERY_CATALOG_SERVICES_WAtCH_DELAY:2000} #目录监听延迟heartbeat:enabled: ${HEARTBEAT_ENABLE:true} #两个fail-fast结合实现启动服务时当consul不存在时服务能正常启动reregister-service-on-failure: ${HEARTBEAT_REREGISTER:true} #当ttl重试时,若服务不存在是否重新注册服务ttl: ${HEARTBEAT_TTL_VALUE:20}senabled: true # 启用服务发现prefer-ip-address: true # 表示注册时使用IP而不是hostnamehostname: localhosthealth-check-path: ${CONSUL_HEALTH_CHECK_PATH:${management.endpoints.web.base-path:/actuator}/health}  #consul默认健康检查地址,可以通过management进行修改health-check-critical-timeout: ${HEALTH_CHECK_CRITICAL_TIMEOUT:60s}  # 健康检查失败多长时间后,取消注册service-name: ${spring.application.name}instance-id: ${spring.application.name}-${spring.cloud.client.ip-address}-${server.port}  # 服务idtags:- ${TAGNAME_GRAYSCALE:graycaletag}=${GRAYSCALE_TAG:${spring.application.name}-${SERVER_SEQUENCE:1}}- ${TAGNAME_SERVICEEXT:serviceext}=${SERVICE_EXT:default}query-passing: true #仅发现健康状态的服务

重点:
spring.cloud.consul.config.prefix consulKV前缀,低版本仅能设置一个
spring.cloud.consul.config.data-key consulKV 最后一级
spring.cloud.consul.config.default-context consulKV中间层级
通过该配置,服务会从consul的KV路径config/baseconfig/data 下的data信息

2.自动注入consulKV到服务中

consul KV 配置为
在这里插入图片描述

当服务启动时,服务会从consul的KV对应路径下获取配信息到服务中,再服务中通过注解ConfigurationProperties来获取

@Getter
@Setter
@Component
@ConfigurationProperties("myconsul.kv.test")
public class MyConsulKvTest {private String name;private String id;
}

当修改consulKV后服务中 MyConsulKvTest 这个bean也会自动更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/109331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学习笔记】RabbitMQ04:延迟队列的原理以及实现代码

参考资料 RabbitMQ官方网站RabbitMQ官方文档噼咔噼咔-动力节点教程 文章目录 七、延迟队列7.1 什么是延迟队列7.2 延迟队列的解决方案7.2.1 定时任务7.2.2 **被动取消**7.2.3 JDK的延迟队列7.2.3 采用消息中间件(rabbitMQ7.2.3.1 适用专门优化后的死信队列实现延迟队…

软考高级系统架构设计师系列之:数学与经济管理

软考高级系统架构设计师系列之:数学与经济管理 一、数学与经济管理二、图论应用-最小生成树三、图论应用-最短路径四、图论应用-网络与最大流量五、运筹方法-线性规划六、运筹方法-动态规划七、运筹方法-转移矩阵八、运筹方法-排队论九、运筹方法-决策-不确定决策十、运筹方法…

Linux常见基本指令合集及其效果展示

Linux基本命令 文章目录 Linux基本命令1. whoami2. who3. clear4. pwd5. 查看文件信息5.0 什么是文件5.1 ls5.2 ls -l5.3 ls -a5.4 ls -a -l 6. 补充知识:对于Linux系统目录的认知6.1 什么是路径 7. cd8. touch9. mkdir10. rmdir11. rm12. man13. cp14. mv15. nano1…

魔行观察》一款免费的品牌/商业地产数据查询平台

给大家推荐一款免费的商业数据查询平台"魔行观察",可免费查询品牌,品牌门店,商场,全国小区,写字楼等相关信息,更多数据敬请期待 小程序搜索:魔行观察 即可使用

Android组件通信——广播机制:BroadcastReceiver(二十九)

1. BroadcastReceiver 1.1 知识点 (1)掌握广播接收器的主要作用及基本实现; (2)可以使用广播启动Service; (3)理解闹钟服务的使用; 1.2 具体内容 广播这个名词大家…

信创办公–基于WPS的Word最佳实践系列 (图文环绕方式)

信创办公–基于WPS的Word最佳实践系列 (图文环绕方式) 目录 应用背景操作步骤1、 打开布局选项中图文环绕方式的方法2、 图文环绕三大类型 应用背景 在Word中,对文字和图片进行排版时,采用各种不同的图片与文字组合效果能够使页面…

Android 自定义view 圆形进度条

Android 自定义view 圆形进度条 前言一、码前分析二、开码1.画笔2.弧度3.圆弧的位置4.暴露给外部设置进度条的方法三、使用四、完整代码 总结 前言 先来看看效果,大概要实现这么一个圆形的进度条 一、码前分析 要实现这么一个进度条的效果,实际上是要画…

cbu和无cc的shiro反序列化

前置知识 学习CommonsBeanutils之前应该知道 javaBean,可以看《Java简单特性》也可以看这里有关BeanComparator的介绍TemplatesImpl gadget,前两个方法是public TemplatesImpl#getOutputProperties() -> TemplatesImpl#newTransformer() -> Tem…

【前端学习】—ES6新增的方法有哪些(十五)

【前端学习】—ES6新增的方法有哪些(十五) 一 、ES6中新增的方法 (一)、Object.is() //用于判断两个值/数据类型是否相等/* 特点:不仅可以对值类型进行正常处理,对象类型的值也可以处理对于特殊的值NaN 也…

杭电oj--平方和与立方和

Problem Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。 Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。 Output 对于每组输入数据,输出一行,应包…

第七版教材下的PMP考试有多难?

考过了几次就没多难了,主要是看考纲,其中的难点就是敏捷的内容多了不少,包含在考纲的三大模块中,pmp考试没有专门的敏捷教材,需要自己去找资料备考。 第七版教材主要内容: 考纲三大模块分析: …

10-k8s-身份认证与鉴权

文章目录 一、ServiceAccount介绍二、ServiceAccount相关的资源对象三、dashboard空间示例 一、ServiceAccount介绍 ServiceAccount(服务账户)概念介绍 1)ServiceAccount是Kubernetes集群中的一种资源对象,用于为Pod或其他资源提供…

【C++】多态 -- 详解

⚪前言 声明一下,下面的代码和解释都是在 VS2019 下的 X86 程序中进行的,涉及的指针都是 4 bytes。如果要其他平台下,部分代码需要改动。比如:如果是 X64 程序,则需要考虑指针是 8 bytes 问题等等。其它编译环境下&…

2023年中国有创呼吸机产量、需求量及行业市场规模分析[图]

有创呼吸机主要是通过气管插管或者气管切开,然后通过管道连接在呼吸机上,为患者提供呼吸支持,主要针对的患者是昏迷的,无自主呼吸或不能耐受无创呼吸机的患者。 有创呼吸机是高端医疗装备,设计、生产和临床验证都必须经…

Object.prototype.toString.call()如何理解

Object.prototype.toString.call() 是 JavaScript 中用于获取对象类型的一种常见方式。这方法通常用来判断某个值的精确类型,因为 JavaScript 的 typeof 运算符虽然能用来区分基本数据类型,但对于对象类型的区分并不够精确。 理解 Object.prototype.to…

hive进行base64 加密解密函数

加密 select base64(cast(abcd as binary))YWJjZA 解密 -- 直接解密(结果字段格式为比binary格式) select unbase64(YWJjZA) -- 格式转换 select cast(unbase64(YWJjZA) as string) abcd

机器学习笔记 - 3D 对象跟踪极简概述

一、简述 大多数对象跟踪应用程序都是 2D 的。但现实世界是 3D 的,无论您是跟踪汽车、人、直升机、导弹,还是进行增强现实,您都需要使用 3D。在 CVPR 2022(计算机视觉和模式识别)会议上,已经出现了大量3D目标检测论文。 二、什么是 3D 对象跟踪? 对象跟踪是指随着时间的…

传输加解密 RuoYi-Vue-PLus 4.x

这里写自定义目录标题 前言代码修改前端引入步骤:代码解释:代码 后端引入步骤:代码解释: 代码 前言 RuoYi-VUE-Plus 5.x的版本 已经完成了 前端加密传输给后端的代码,本文章只是将代码迁移到4.x 并完成 后端加密后给前…

HTML渲染过程

整个渲染过程: 将 URL 对应的各种资源,通过浏览器渲染引擎的解析,输出可视化的图像。 基本概念: HTML 解释器:解析html语言、将html文本翻译成dom树; CSS 解释器:解析css语言,给…

【JVM面试】从JDK7 到 JDK8, JVM为啥用元空间替换永久代?

系列文章目录 【JVM系列】第一章 运行时数据区 【面试】第二章 从JDK7 到 JDK8, JVM为啥用元空间替换永久代? 大家好,我是青花。拥有多项发明专利(都是关于商品、广告等推荐产品)。对广告、Web全栈以及Java生态微服务拥有自己独到…