已解决
java spring 动态获取nacos配置文件
来自网友在路上 172872提问 提问时间:2023-09-26 06:00:40阅读次数: 72
最佳答案 问答题库728位专家为你答疑解惑
1、jar依赖包
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-context</artifactId><version>2.1.1.RELEASE</version></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos- config</artifactId><version>2.2.1.RELEASE</version></dependency><dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-yaml</artifactId><version>2.9.9</version>
</dependency>
2、相关代码
package com.tanhua.sso.config;import com.alibaba.cloud.nacos.NacosConfigManager;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.Map;@RefreshScope
@Component
public class NacosConfigService {private static final String ROUTE_CONFIG_ID = "bsc-auth- app. yml";private static final String GROUP_ID = "DEFAULT GROUP";@Autowiredprivate NacosConfigManager nacosconfigManager;@SneakyThrowspublic Map<String, String> getAuthAppInfo() {Map<String, String> map = new HashMap<>();//读取nacos配置文件String config = nacosconfigManager.getConfigService().getConfig(ROUTE_CONFIG_ID, GROUP_ID, 5000);//将获取到的yml配置文件转为JSON字符串JsonNode allNodes = new ObjectMapper(new YAMLFactory()).readTree(config);//将节点数据封装成所需要的格式,我需要map(此步骤省略)return map;}}
3、注意事项
1、注解@RefreshScope为动态刷新,如果需要检验是否成功。可以写一个Junit测试,while(true)循环打印获取到的信息。我们修改nacos配置文件,看测试打印的结果是否会动态修改。
2、获取的nacos配置文件包含所有指定yml里的数据(包括自定义),我们可以只选取需要的部分进行封装即可。
查看全文
99%的人还看了
相似问题
- 配置Nginx服务器用于Web应用代理和SSL{仅配置文件}
- rk3588使用vscode远程debug 配置文件
- Python3.7+PyQt5 pyuic5将.ui文件转换为.py文件、Python读取配置文件、生成日志
- SpringBoot-配置文件properties/yml分析+tomcat最大连接数及最大并发数
- Nginx的核心配置文件
- docker 安装mongodb 实现 数据,日志,配置文件外挂
- 总结:利用原生JDK封装工具类,解析properties配置文件以及MF清单文件
- 在gitlab中指定自定义 CI/CD 配置文件
- Spring集成MyBatis(自定义类和xml配置文件两种形式)
- IS420ESWBH3A GE 附加配置文件和I/O组件中的单独标签
猜你感兴趣
版权申明
本文"java spring 动态获取nacos配置文件":http://eshow365.cn/6-13715-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!