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

你可能感兴趣的文章
npm install 报错 EEXIST File exists 的解决方法
查看>>
npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
查看>>
npm install 报错 fatal: unable to connect to github.com 的解决方法
查看>>
npm install 报错 no such file or directory 的解决方法
查看>>
npm install 权限问题
查看>>
npm install报错,证书验证失败unable to get local issuer certificate
查看>>
npm install无法生成node_modules的解决方法
查看>>
npm install的--save和--save-dev使用说明
查看>>
npm node pm2相关问题
查看>>
npm run build 失败Compiler server unexpectedly exited with code: null and signal: SIGBUS
查看>>
npm run build报Cannot find module错误的解决方法
查看>>
npm run build部署到云服务器中的Nginx(图文配置)
查看>>
npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
查看>>
npm scripts 使用指南
查看>>
npm should be run outside of the node repl, in your normal shell
查看>>
npm start运行了什么
查看>>
npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
查看>>
npm 下载依赖慢的解决方案(亲测有效)
查看>>
npm 安装依赖过程中报错:Error: Can‘t find Python executable “python“, you can set the PYTHON env variable
查看>>
npm.taobao.org 淘宝 npm 镜像证书过期?这样解决!
查看>>