Springboot 实践(14)spring config 配置与运用--手动刷新

        前文讲解Spring Cloud + zuul 实现了SpringbootAction-One和SpringbootAction-two两个项目的路由切换,正确访问到项目中的资源。这两个项目各自拥有一份application.yml项目配置文件,配置文件中有一部分相同的配置参数,如果涉及到修改,需要进行多处修改。那么有没有一种技术,能够实现这些相同参数的加载呢?能不能实现配置参数的集中修改呢?当然有,这个技术就是Spring Cloud Config技术。

        Spring Cloud Config为架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用环境提供了一个中心化的外部配置,它解决了这两个痛点:

  • 集中式管理

        在开发中多个微服务可能使用相同的配置,假设有50个微服务,如果配置需要修改配置文件,就意味着我们需要修改50个微服务的yml文件。使用配置中心后,就可以做到一处修改,处处修改。

  • 动态修改配置

        使用配置中心,配合actuator可以实现配置的动态修改,无需重启服务。

1、config服务端搭建

        首先利用MyEclipe2019创建web project工程,命名为“Springboot-config-server”,然后依次修改项目文件。

(1)pom.xml文件修改

        添加config配置关联jar包,如下图所示:

(2)application.xml文件修改

此处,采用config的本地配置模式,配置文件的存储路径为“C:/dev/config-repo”,学友们可另行修改,详细如下:

(3)@EnableConfigServer

        在启动文件中,添加@EnableConfigServer注解,启动spring cloud config的配置服务器功能。

(4)启动项目

        到此,项目已经建立完成,可启动项目,查看项目运行情况。由于项目中使用了服务注册软件consul,项目启动前,必须先启动consul软件。项目启动后,在浏览器中输入http://localhost:8500,查看项目注册情况,如下图所示

2、config 客户端搭建

        首先利用MyEclipe2019创建web project工程,命名为“Springboot-config-client”,然后依次修改项目文件。

(1)pom.xml文件修改

        添加config配置关联jar包,如下图所示:

(2)application.xml文件修改

        首先右键选择项目下文件夹“src/main/resources”,创建“bootstrap.yml”文件,用于存储项目中不变更的参数。Springboot在项目加载的过程,默认优先加载“bootstrap.yml”,再通过spring cloud config加载加载配置文件。

        “bootstrap.yml”文件配置参数如下图所示,此处默认从config中心加载“auth-erver”和“mango-config-client”两个文件。

(3)启动函数

        启动函数如下图所示

(4)Controller添加

        创建UserController.java文件,访问配置参数,详细如下图;注意,RestController类添加注解@RefreshScope,动态刷新参数

(5)启动项目

到此,项目已经建立完成,可启动项目,查看项目运行情况。。项目启动后,在浏览器中输入http://localhost:8500,查看项目注册情况,如下图所示

3、配置信息动态刷新

        项目启动之后,可以测试项目配置信息的更新情况;

(1)利用config 服务器查看配置参数

在浏览器中输入地址http://localhost:8020/mango-config-client.yml,返回页面如下图所示:

(2)利用config 客户端查看参数

        在浏览器中输入地址http://localhost:1881/configInfo,返回页面如下图所示:

(3)打开mango-config-client.yml文件,讲“test3”修改“test4”,再执行(1)、(2)两步,发现(1)更新了,但是(2)没有更新;

(4)PostMan手动刷新

        以post方式,发送http://localhost:1881/actuator/refresh,返回如下图所示:

执行完成之后,再通过步骤(2)后,发现得到了新值。

        本文讲解Spring cloud config 参数配置中心,项目建立完成之后,通过postman执行刷新指令,实现了在不重启项目的情况,实现了参数配置的刷新。下一篇文章,会在先有项目的基础上,实现参数的自动刷新,敬请等待!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/102782.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis持久化、主从与哨兵架构详解

Redis持久化 RDB快照(snapshot) 在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。 你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数…

java.lang.Exception: No runnable methods

无可执行test方法异常,报错为: 1.查看是否添加了Test注解在执行的方法上 2.查看测试类的注解 3.查看test类的导包,一定要是junit的。

【爬虫】8.1. 使用OCR技术识别图形验证码

使用OCR技术识别图形验证码 文章目录 使用OCR技术识别图形验证码1. OCR技术2. 准备工作2.1. tesserocr安装异常 3. 验证码图片爬取4. 无障碍识别测试5. 错误识别6. 识别实战:7. 参数设置 图形验证码是最早出现的验证方式,现在依然很常见,一般…

【线程池】面试被问到线程池参数如何配置时该如何回答

前言 没有基于业务场景,直接抛出这个问题,等同于耍流氓。 八股文告诉我们CPU密集型就核心数1,IO密集型就核心数*2,那么真实业务中该怎么去配置呢。 方法论还是有的 1.需要分析线程池执行的任务的特性: CPU 密集型还是 …

【Node.js】Node.js安装详细步骤和创建Express项目演示

Node.js是一个开源的、跨平台的JavaScript运行环境,用于在服务器端运行JavaScript代码。它提供了一个简单的API,可以用于开发各种网络和服务器应用程序。 以下是Node.js的安装和使用的详细步骤和代码示例: 1、下载Node.js 访问Node.js官方…

【Python小项目之Tkinter应用】随机点名/抽奖工具大优化:实现背景图与其他组件自适应窗口大小变化并保持相对位置和比例不变

文章目录 前言一、需求分析与实现思路明确需求实现思路二、关键代码2.1 实现背景图随着窗口大小变化而变化2.2 更换place的参数三、完整代码四、总结4.1 意外收获前言 话不多说,直接看优化后的效果: 优化前: 是不是非常的哇塞,相比于之前只能固定窗口大小来运行,优化后…

docker 安装rabbitmq

前提:安装好docker docker安装_Steven-Russell的博客-CSDN博客 centos7安装docker_centos7 docker 安装软件_Steven-Russell的博客-CSDN博客 1、启动docker systemctl start docker 2、下载镜像 // 可以先search查询一下可用镜像,此处直接下载最新版本…

北京已收录2023开学了《乡村振兴战略下传统村落文化旅游设计》中国建筑出版传媒许少辉八一新书

北京已收录2023开学了《乡村振兴战略下传统村落文化旅游设计》中国建筑出版传媒许少辉八一新书

QML实现文件十六进制数据展示

前言 将一个二进制文件直接拖放到Qt Creator中可以直接查看到以十六进制显示的数据格式,如: 要实现一个这样的效果,还是要花不少时间的。 在网上找了挺多示例,其中一个开源代码效果不错(参考这里)&#…

基于Python开发的飞机大战小游戏彩色版(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)

一、项目简介 本项目是一套基于Python开发的飞机大战小游戏,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,…

区块链实验室(20) - FISCO控制台连接到指定的节点

在FISCO技术文档中,控制台默认采用config.toml作为配置文件,并指定了连接的节点地址和商品,如下所示。 [network] peers["127.0.0.1:20200", "127.0.0.1:20201"] # The peer list to connect在该案例中,控…

【基础计算机网络1】认识计算机网络体系结构,了解计算机网络的大致模型(下)

前言 在上一篇我们主要介绍了有关计算机网络概述的内容,下面这一篇我们将来介绍有关计算机网络体系结构与参考模型的内容。这一篇博客紧紧联系上一篇博客。 这一篇博客主要内容是:计算机网络体系结构与参考模型,主要是计算机网络分层结构、协…