spring?java?動(dòng)態(tài)獲取consul?K/V的方法
spring java 動(dòng)態(tài)獲取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} #兩個(gè)fail-fast結(jié)合實(shí)現(xiàn)啟動(dòng)服務(wù)時(shí)當(dāng)consul不存在時(shí)服務(wù)能正常啟動(dòng)
format: YAML # 表示consul上面文件的格式 有四種 YAML PROPERTIES KEY-VALUE FILES
data-key: ${CONSUL_DATA_KEY:data} #表示consul上面的KEY值(或者說(shuō)文件的名字) 默認(rèn)是data
# watch選項(xiàng)為配置監(jiān)視功能,主要監(jiān)視配置的改變
watch:
enabled: true
delay: ${WATCH_DELAY:${consul.watch.delay:2000}}
wait-time: ${WATCH_WAIT-TIME:20}
default-context: ${CONSUL_DEFAULT_CONTEXT:baseconfig}
prefixes:
- config
discovery:
fail-fast: ${DISCOVERY_FAIL_FAST:false}
catalogServicesWatchDelay: ${CONSUL_DISCOVERY_CATALOG_SERVICES_WAtCH_DELAY:2000} #目錄監(jiān)聽(tīng)延遲
heartbeat:
enabled: ${HEARTBEAT_ENABLE:true} #兩個(gè)fail-fast結(jié)合實(shí)現(xiàn)啟動(dòng)服務(wù)時(shí)當(dāng)consul不存在時(shí)服務(wù)能正常啟動(dòng)
reregister-service-on-failure: ${HEARTBEAT_REREGISTER:true} #當(dāng)ttl重試時(shí),若服務(wù)不存在是否重新注冊(cè)服務(wù)
ttl: ${HEARTBEAT_TTL_VALUE:20}s
enabled: true # 啟用服務(wù)發(fā)現(xiàn)
prefer-ip-address: true # 表示注冊(cè)時(shí)使用IP而不是hostname
hostname: localhost
health-check-path: ${CONSUL_HEALTH_CHECK_PATH:${management.endpoints.web.base-path:/actuator}/health} #consul默認(rèn)健康檢查地址,可以通過(guò)management進(jìn)行修改
health-check-critical-timeout: ${HEALTH_CHECK_CRITICAL_TIMEOUT:60s} # 健康檢查失敗多長(zhǎng)時(shí)間后,取消注冊(cè)
service-name: ${spring.application.name}
instance-id: ${spring.application.name}-${spring.cloud.client.ip-address}-${server.port} # 服務(wù)id
tags:
- ${TAGNAME_GRAYSCALE:graycaletag}=${GRAYSCALE_TAG:${spring.application.name}-${SERVER_SEQUENCE:1}}
- ${TAGNAME_SERVICEEXT:serviceext}=${SERVICE_EXT:default}
query-passing: true #僅發(fā)現(xiàn)健康狀態(tài)的服務(wù)重點(diǎn):
spring.cloud.consul.config.prefix consulKV前綴,低版本僅能設(shè)置一個(gè)
spring.cloud.consul.config.data-key consulKV 最后一級(jí)
spring.cloud.consul.config.default-context consulKV中間層級(jí)
通過(guò)該配置,服務(wù)會(huì)從consul的KV路徑config/baseconfig/data 下的data信息
2.自動(dòng)注入consulKV到服務(wù)中
consul KV 配置為

當(dāng)服務(wù)啟動(dòng)時(shí),服務(wù)會(huì)從consul的KV對(duì)應(yīng)路徑下獲取配信息到服務(wù)中,再服務(wù)中通過(guò)注解ConfigurationProperties來(lái)獲取
@Getter
@Setter
@Component
@ConfigurationProperties("myconsul.kv.test")
public class MyConsulKvTest {
private String name;
private String id;
}當(dāng)修改consulKV后服務(wù)中 MyConsulKvTest 這個(gè)bean也會(huì)自動(dòng)更新
到此這篇關(guān)于spring java 動(dòng)態(tài)獲取consul K/V的文章就介紹到這了,更多相關(guān) java 動(dòng)態(tài)獲取consul K/V內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java如何使用正則表達(dá)式從字符串中提取數(shù)字
這篇文章主要介紹了Java如何使用正則表達(dá)式從字符串中提取數(shù)字問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
SpringBoot參數(shù)校驗(yàn)的一些實(shí)戰(zhàn)應(yīng)用
這篇文章主要給大家介紹了關(guān)于SpringBoot參數(shù)校驗(yàn)的一些實(shí)戰(zhàn)應(yīng)用,包括使用內(nèi)置的參數(shù)校驗(yàn)注解、嵌套對(duì)象校驗(yàn)、分組校驗(yàn)以及自定義校驗(yàn)注解,通過(guò)這些方法,可以有效地提高系統(tǒng)的穩(wěn)定性和安全性,需要的朋友可以參考下2024-11-11
Spring Cloud 網(wǎng)關(guān)服務(wù) zuul 動(dòng)態(tài)路由的實(shí)現(xiàn)方法
網(wǎng)關(guān)服務(wù)是流量的唯一入口。不能隨便停服務(wù)。所以動(dòng)態(tài)路由就顯得尤為必要。這篇文章主要介紹了Spring Cloud 網(wǎng)關(guān)服務(wù) zuul 三 動(dòng)態(tài)路由的相關(guān)知識(shí),需要的朋友可以參考下2019-10-10
JDBC如何訪(fǎng)問(wèn)MySQL數(shù)據(jù)庫(kù),并增刪查改
這篇文章主要介紹了JDBC如何訪(fǎng)問(wèn)MySQL數(shù)據(jù)庫(kù),幫助大家更好的理解和學(xué)習(xí)java與MySQL,感興趣的朋友可以了解下2020-08-08
Java實(shí)現(xiàn)List與數(shù)組互相轉(zhuǎn)換的兩種方法
在 Java 編程中,List 和數(shù)組是兩種常用的數(shù)據(jù)結(jié)構(gòu),List 提供了動(dòng)態(tài)大小、豐富的操作方法,而數(shù)組則以其高效的隨機(jī)訪(fǎng)問(wèn)和內(nèi)存效率著稱(chēng),在實(shí)際開(kāi)發(fā)中,我們經(jīng)常需要在這兩者之間進(jìn)行轉(zhuǎn)換,本文將深入探討 List 與數(shù)組之間的相互轉(zhuǎn)換,需要的朋友可以參考下2025-12-12
SpringBoot集成Hutool防止XSS攻擊的兩種解決方法
XSS漏洞是生產(chǎn)上比較常見(jiàn)的問(wèn)題,本文主要介紹了SpringBoot集成Hutool防止XSS攻擊的兩種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-04-04
SpringBoot+hutool實(shí)現(xiàn)圖片驗(yàn)證碼
本文主要介紹了SpringBoot+hutool實(shí)現(xiàn)圖片驗(yàn)證碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08

