Docker下的disconf实战全文链接
- https://blog.csdn.net/boling_cavalry/article/details/71082610;
- https://blog.csdn.net/boling_cavalry/article/details/71107498;
- https://blog.csdn.net/boling_cavalry/article/details/71120725;
- https://blog.csdn.net/boling_cavalry/article/details/71404395;
- https://blog.csdn.net/boling_cavalry/article/details/71424124;
在上一章http://blog.csdn.net/boling_cavalry/article/details/71404395中我们体验了disconf服务的使用方获取配置以及实时感知到这个配置变化的效果 , 今天我们一起来实践这个demo的开发过程 , 学会在项目中使用disconf服务 。
此demo源于disconf官网的demo(git地址:git@github.com:knightliao/disconf-demos-JAVA.git , 下有三个工程 , 此文的demo源自其中的disconf-standalone-demo) , 官方demo展示了大而全的功能 , 做为初学者的我花了不少时间去看 , 因此我就基于官方代码做了精简 , 精简后的代码旨在快速为初学者展示最基本的远程配置和实时感知配置变化的能力 , 若要系统的学习disconf的各类服务 , 还请自行研究官方文档和demo 。
本文demo的源码在git@github.com:zq2599/blog_demos.git , 下载后的里面有多个工程 , 下图红框中的工程才是本文的demo:

文章插图
接下来我们看看调用disconf服务需要哪些步骤:
- 由于这是个maven工程 , 所以首先要确定依赖包 , 我们用到的主要有disconf的库 , 以及spring和日志等常用库 , 如下:
<dependency>
<groupId>com.baidu.disconf</groupId>
<artifactId>disconf-client</artifactId>
<version>2.6.36</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.7.RELEASE</version>
</dependency>
</dependencies>
maven的构建插件是作者自定义的 , 除了基本功能 , 还生成了一些脚本工具 , 我们直接使用:
<plugin>
<groupId>com.github.knightliao.plugin</groupId>
<artifactId>starter-shade-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>${project.build.finalName}</finalName>
<transformers>
<transformer
implementation="org.Apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.example.disconf.demo.DisconfDemoMain</mainClass>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
<resources>
<resource>env</resource>
<resource>disconf.properties</resource>
<resource>logback.xml</resource>
</resources>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
</transformers>
推荐阅读
- 怎样用加密狗保护我们的程序?加密狗使用原理的一点了解
- python如何使用HanLP,LTP,jieba中文分词库
- CentOS7下部署Cobbler实现PXE+KS自动化安装
- 电脑发送的信息是如何到达目的地的?简单了解下网络传输原理过程
- 为什么没人写方腊起义 方腊宋江起义
- 雀斑怎么去除 8款食疗方让你提前“下斑”
- 清朝灭亡后的皇亲贵族去哪了 清朝灭亡后满清贵族下场
- 清朝八大铁帽子王都有谁?大多下场悲惨 清朝最后一个铁帽子王
- 描写楚汉战争在亥下最后决战的一首名曲是 项羽亥下悲歌
- 什么叫巫蛊之术 真的有巫蛊之术吗