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

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

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=useradmin
test.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;
@RestController
public 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/

你可能感兴趣的文章
MySQL数据库与Informix:能否创建同名表?
查看>>
mysql自增id超大问题查询
查看>>
MySQL锁与脏读、不可重复读、幻读详解
查看>>
MySQL集群解决方案(4):负载均衡
查看>>
mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
查看>>
MySQL高级-MySQL并发参数调整
查看>>
MySQL高级-视图
查看>>
MySQL:判断逗号分隔的字符串中是否包含某个字符串
查看>>
Nacos在双击startup.cmd启动时提示:Unable to start embedded Tomcat
查看>>
Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
Nacos配置中心集群原理及源码分析
查看>>
nacos配置自动刷新源码解析
查看>>
Nacos集群搭建
查看>>
nacos集群搭建
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>
Neo4j电影关系图Cypher
查看>>
Neo4j的安装与使用
查看>>
Neo4j(2):环境搭建
查看>>
Neo私链
查看>>
nessus快速安装使用指南(非常详细)零基础入门到精通,收藏这一篇就够了
查看>>