博客
关于我
Disconf配SpringBoot实战(自动刷新无需重启)
阅读量:554 次
发布时间:2019-03-09

本文共 3278 字,大约阅读时间需要 10 分钟。

Spring Boot 与 Disconf 的整合配置说明

前置环境配置

在使用 Disconf 前,需确保以下环境条件已满足:

  • Java 版本:建议使用 Java 8 或更高版本。
  • 操作系统:支持 Unix/Linux 或 Windows 系统。
  • 依赖管理:需确保 Maven 或 Gradle 已正确配置。

Disconf 环境搭建

pom.xml 配置

在项目根目录下,修改 pom.xml 文件,添加必要的依赖:

com.baidu.disconf
disconf-client
2.6.36

配置文件

创建 resource/disconf.properties 文件,配置 Disconf 客户端参数:

# 是否启用远程配置 (默认为 true)enable.remote.conf=true# Disconf 服务器地址conf_server_host=192.168.75.128:8085# 应用名称app=springboot-demo# 配置版本version=V1_0_0# 环境标识envenv=local# 配置下载目录user_define_download_dir=./disconf/download# 忽略的配置项(以逗号分隔)ignore=

Spring Boot 应用配置

application.properties

src/main/resources/application.properties 中添加配置:

test.username=useradmintest.password=passward

test.properties

src/test/resources/test.properties 中添加配置:

aaa=bbbbb

模型类配置

创建 com/example/demo/config/DisconfConfig.java,定义配置模型:

@Data@Component@DisconfFile(filename = "application.properties")public class DisconfConfig {    private String username;    private String password;    @DisconfFileItem(name = "test.username")    public String getUsername() {        return username;    }    @DisconfFileItem(name = "test.password")    public String getPassword() {        return password;    }}

回调处理(可选)

创建 com/example/demo/callback/DisconfUpdateCallback.java,实现配置变更的回调:

package com.example.demo.callback;import com.baidu.disconf.client.common.annotations.DisconfUpdateService;import com.example.demo.config.disconf.DisconfConfig;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;@Component@DisconfUpdateService(classes = {DisconfConfig.class})public class DisconfUpdateCallback implements IDisconfUpdate {    @Autowired    private DisconfConfig disconfConfig;    @Override    public void reload() throws Exception {        System.out.println("配置更新成功,当前配置为:" + disconfConfig);    }}

控制器开发

创建 com/example/demo/controller/TestController.java,用于展示配置信息:

package com.example.demo.controller;import com.example.demo.config.disconf.DisconfConfig;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class TestController {    @Autowired    private DisconfConfig disconfConfig;    @RequestMapping(name = "test")    public String test() {        return disconfConfig.toString();    }}

目录结构示例

.├── src/│   ├── main/│   │   ├── java/│   │   │   └── com/│   │   │       └── example/│   │   │           ├── demo/│   │   │           │   ├── config/│   │   │           │   │   └── disconf/│   │   │           │   │       └── TestConfig.java│   │   │           │   └── callback/│   │   │           │       └── DisconfUpdateCallback.java│   │   │           └── controller/│   │   │               └── TestController.java│   │   └── resources/│   │       ├── disconf/│   │       │   └── disconf.properties│   │       └── application.properties│   └── test/│       └── resources/│           └── test.properties

配置验证

启动应用后,访问 /test 端口,应能看到配置信息:

TestConfig{username='useradmin', password='passward'}

Disconf Web 控台

在 Disconf Web 界面中,添加实例并修改配置,修改后可在控制台看到更新日志:

配置更新成功,当前配置为:TestConfig{username='useradmin', password='passward'}

通过以上配置,实现了 Spring Boot 应用的配置管理与 Disconf 的有效结合。

转载地址:http://jgmsz.baihongyu.com/

你可能感兴趣的文章
NS3 IP首部校验和
查看>>
NSDateFormatter的替代方法
查看>>
NSError 的使用方法
查看>>
nsis 安装脚本示例(转)
查看>>
NSJSON的用法(oc系统自带的解析方法)
查看>>
nslookup 的基本知识与命令详解
查看>>
NSOperation基本操作
查看>>
NSRange 范围
查看>>
NSSet集合 无序的 不能重复的
查看>>
NSURLSession下载和断点续传
查看>>
NSUserdefault读书笔记
查看>>
NS图绘制工具推荐
查看>>
NT AUTHORITY\NETWORK SERVICE 权限问题
查看>>
NT symbols are incorrect, please fix symbols
查看>>
ntelliJ IDEA 报错:找不到包或者找不到符号
查看>>
NTFS文件权限管理实战
查看>>
ntko web firefox跨浏览器插件_深度比较:2019年6个最好的跨浏览器测试工具
查看>>
ntko文件存取错误_苹果推送 macOS 10.15.4:iCloud 云盘文件夹共享终于来了
查看>>
ntp server 用法小结
查看>>
ntpdate 通过外网同步时间
查看>>