博客
关于我
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/

你可能感兴趣的文章
Object.assign用法
查看>>
Object.create
查看>>
Object.defineProperty详解
查看>>
Object.keys()的详解和用法
查看>>
objectForKey与valueForKey在NSDictionary中的差异
查看>>
Objective - C 小谈:消息机制的原理与使用
查看>>
OBJECTIVE C (XCODE) 绘图功能简介(转载)
查看>>
Objective-C ---JSON 解析 和 KVC
查看>>
Objective-C 编码规范
查看>>
Objective-Cfor循环实现Factorial阶乘算法 (附完整源码)
查看>>
Objective-C——判断对象等同性
查看>>
objective-c中的内存管理
查看>>
Objective-C之成魔之路【7-类、对象和方法】
查看>>
Objective-C享元模式(Flyweight)
查看>>
Objective-C以递归的方式实现二叉搜索树算法(附完整源码)
查看>>
Objective-C内存管理教程和原理剖析(三)
查看>>
Objective-C实现 Greedy Best First Search最佳优先搜索算法(附完整源码)
查看>>
Objective-C实现 jugglerSequence杂耍者序列算法 (附完整源码)
查看>>
Objective-C实现 lattice path格子路径算法(附完整源码)
查看>>
Objective-C实现1000 位斐波那契数算法(附完整源码)
查看>>