iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用svn+Spring Cloud Config来做配置中心
  • 185
分享到

如何使用svn+Spring Cloud Config来做配置中心

2023-06-05 05:06:48 185人浏览 薄情痞子
摘要

这篇文章主要介绍“如何使用svn+spring cloud Config来做配置中心”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用svn+spring Cloud Config来做配置中心”

这篇文章主要介绍“如何使用svn+spring cloud Config来做配置中心”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用svn+spring Cloud Config来做配置中心”文章能帮助大家解决问题。

添加依赖

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-config-server</artifactId></dependency><dependency><groupId>org.tmatesoft.svnkit</groupId><artifactId>svnkit</artifactId></dependency></dependencies>

需要多引入svnkitr包

配置文件

server:  port: 8001 spring:  cloud:    config:      server:        svn:          uri: Http://192.168.0.6/svn/repo/config-repo          username: username          passWord: password        default-label: trunk  profiles:    active: subversion  application:    name: spring-cloud-config-server

git版本稍有区别,需要显示声明subversion.

启动类

启动类没有变化,添加@EnableConfigServer激活对配置中心的支持

@EnableConfigServer@SpringBootApplicationpublic class ConfigServerApplication { public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args);}}

测试

服务端测试

访问:http://localhost:8001/neo-config-dev.properties,返回:neo.hello: hello im dev,说明服务端可以正常读取到svn代码库中的配置信息。修改配置文件neo-config-dev.properties中配置信息为:neo.hello=hello im dev update,再次在浏览器访问http://localhost:8001/neo-config-dev.properties,返回:neo.hello: hello im dev update。说明server端会自动读取最新提交的内容

客户端测试

客户端直接使用上一篇示例项目spring-cloud-config-client来测试,配置基本不用变动。启动项目后访问:http://localhost:8002/hello,返回:hello im dev update说明已经正确的从server端获取到了参数。同样修改svn配置并提交,再次访问http://localhost:8002/hello``依然获取的是旧的信息,和git版本的问题一样。

refresh

现在来解决上一篇的遗留问题,这个问题在svn版本中依然存在。Spring Cloud Config分服务端和客户端,服务端负责将git(svn)中存储的配置文件发布成REST接口,客户端可以从服务端REST接口获取配置。但客户端并不能主动感知到配置的变化,从而主动去获取新的配置。客户端如何去主动获取新的配置信息呢,SpringCloud已经给我们提供了解决方案,每个客户端通过POST方法触发各自的/refresh。

修改spring-cloud-config-client项目已到达可以refresh的功能。

添加依赖

<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-actuator</artifactId></dependency>

增加了spring-boot-starter-actuator包,spring-boot-starter-actuator是一套监控的功能,可以监控程序在运行时状态,其中就包括/refresh的功能。

开启更新机制

需要给加载变量的类上面加载@RefreshScope,在客户端执行/refresh的时候就会更新此类下面的变量值。

@RestController@RefreshScope // 使用该注解的类,会在接到SprinGCloud配置中心配置刷新的时候,自动将新的配置更新到该类对应的字段中。class HelloController {     @Value("${neo.hello}")    private String hello;     @RequestMapping("/hello")    public String from() {        return this.hello;    }}

测试

springboot 1.5.X 以上默认开通了安全认证,所以需要在配置文件application.properties添加以下配置

management.security.enabled=false

OK 这样就改造完了,以post请求的方式来访问http://localhost:8002/refresh 就会更新修改后的配置文件。

我们再次来测试,首先访问http://localhost:8002/hello,返回:hello im dev,我将库中的值修改为hello im dev update。在win上面打开cmd执行curl -X POST http://localhost:8002/refresh,返回["neo.hello"]说明已经更新了neo.hello的值。我们再次访问http://localhost:8002/hello,返回:hello im dev update,客户端已经得到了最新的值。

每次手动刷新客户端也很麻烦,有没有什么办法只要提交代码就自动调用客户端来更新呢,GitHubWEBhook是一个好的办法。

webhook

WebHook是当某个事件发生时,通过发送http post请求的方式来通知信息接收方。Webhook来监测你在Github.com上的各种事件,最常见的莫过于push事件。如果你设置了一个监测push事件的Webhook,那么每当你的这个项目有了任何提交,这个Webhook都会被触发,这时Github就会发送一个HTTP POST请求到你配置好的地址。

如此一来,你就可以通过这种方式去自动完成一些重复性工作,比如,你可以用Webhook来自动触发一些持续集成(CI)工具的运作,比如Travis CI;又或者是通过 Webhook 去部署你的线上服务器。下图就是github上面的webhook配置。

如何使用svn+Spring Cloud Config来做配置中心

Payload URL :触发后回调的URL

Content type :数据格式,两种一般使用JSON

Secret :用作给POST的body加密的字符串。采用HMac算法

events :触发的事件列表。

events事件类型描述

push仓库有push时触发。默认事件

create当有分支或标签被创建时触发

delete当有分支或标签被删除时触发

svn也有类似的hook机制,每次提交后会触发post-commit脚本,我们可以在这里写一些post请求。

这样我们就可以利用hook的机制去触发客户端的更新,但是当客户端越来越多的时候hook支持的已经不够优雅,另外每次增加客户端都需要改动hook也是不现实的。

关于“如何使用svn+Spring Cloud Config来做配置中心”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: 如何使用svn+Spring Cloud Config来做配置中心

本文链接: https://www.lsjlt.com/news/241365.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用svn+Spring Cloud Config来做配置中心
    这篇文章主要介绍“如何使用svn+Spring Cloud Config来做配置中心”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用svn+Spring Cloud Config来做配置中心”...
    99+
    2023-06-05
  • Spring Cloud中如何配置Config
    本篇文章给大家分享的是有关Spring Cloud中如何配置Config,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置...
    99+
    2023-06-19
  • Spring Cloud Config如何使用本地配置文件
    本篇内容主要讲解“Spring Cloud Config如何使用本地配置文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Cloud Config如何使用本地配置文件”吧!一、简介...
    99+
    2023-06-20
  • 【配置nacos】使用application.yml配置文件来配置spring-cloud-starter-alibaba-nacos-config
    首先修改pom.xml文件,引入spring-cloud-starter-alibaba-nacos-config依赖 com.alibaba.cloud spr...
    99+
    2023-09-02
    spring java spring boot 微服务 nacos
  • spring cloud如何集成nacos配置中心
    目录spring cloud集成nacos配置中心一、添加依赖二、添加bootstrap.yml配置文件三、添加远程配置nacos作为SpringCloud配置中心一、背景介绍二、项...
    99+
    2022-11-12
  • Spring Cloud Alibaba使用Nacos作为注册中心和配置中心
    目录前言Nacos简介使用Nacos作为注册中心安装并运行Nacos创建应用注册到Nacos负载均衡功能使用Nacos作为配置中心创建nacos-config-client模块在Na...
    99+
    2022-11-13
  • 如何使用纯java config来配置spring mvc方式
    这篇文章将为大家详细讲解有关如何使用纯java config来配置spring mvc方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用xml配置spring是大部分...
    99+
    2023-06-21
  • 如何使用spring cloud Bus刷新配置
    如何使用spring cloud Bus刷新配置,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。当我们的业务系统越来越庞大复杂的时候,各种配置也会随之增多。配置文件只要一修改,会...
    99+
    2023-06-05
  • 解决 Spring Cloud 2021.0.5 版本,使用 nacos 做配置中心,报 No spring.config.import property has been defined 的问题
    报错信息如下 Description: No spring.config.import property has been defined Spring 官方给出的解决方案如下 Add a ...
    99+
    2023-09-15
    spring boot spring java maven spring cloud
  • spring boot项目中如何使用nacos作为配置中心
    目录使用nacos作为配置中心1、pom.xml中引入nacos支持包2、pom.xml中指向nacos3、配置文件中使用nacos配置项总结使用nacos作为配置中心 利用naco...
    99+
    2022-12-29
    spring boot项目 使用nacos配置中心 nacos作为配置中心
  • 如何使用Spring Cloud搭建高可用服务注册中心
    这篇文章主要介绍“如何使用Spring Cloud搭建高可用服务注册中心”,在日常操作中,相信很多人在如何使用Spring Cloud搭建高可用服务注册中心问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使...
    99+
    2023-06-19
  • Spring Cloud中如何使用Eureka集群搭建高可用服务注册中心
    今天就跟大家聊聊有关Spring Cloud中如何使用Eureka集群搭建高可用服务注册中心,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。这一篇主要介绍一下如何搭建一个高可用的 Eu...
    99+
    2023-06-04
  • 配置中心nacos如何安装使用
    今天小编给大家分享一下配置中心nacos如何安装使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是配置中心用来统一管理...
    99+
    2023-07-04
  • 如何使用Springboot整合Apollo配置中心
    本篇内容介绍了“如何使用Springboot整合Apollo配置中心”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Apollo简介Apoll...
    99+
    2023-06-20
  • 详解Java如何使用注解来配置Spring容器
    目录介绍@Bean and @ConfigurationAnnotationConfigApplicationContext实例化容器通过使用 register(Class...) ...
    99+
    2022-11-13
  • Profiles 如何在Spring Boot 中配置与使用
    这期内容当中小编将会给大家带来有关Profiles 如何在Spring Boot 中配置与使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Spring Profiles 提供了一套隔离应用配置的方式,不...
    99+
    2023-05-31
    springboot profiles les
  • Cli如何在spring Boot中配置并使用
    Cli如何在spring Boot中配置并使用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SpringBootCLI是一个命令行工具,可用于快速搭建基于spring的原型...
    99+
    2023-05-31
    springboot cli
  • 如何使用Spring中的scope配置和@scope注解
    本文小编为大家详细介绍“如何使用Spring中的scope配置和@scope注解”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Spring中的scope配置和@scope注解”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-02
  • Log4j2如何在Spring Boot中实现配置并使用
    这篇文章将为大家详细讲解有关 Log4j2如何在Spring Boot中实现配置并使用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Spring Boot 可以集成很多不同的日志系统,其中最...
    99+
    2023-05-31
    springboot log4j
  • 如何使用 PHP 解析 Spring 框架中的配置文件?
    Spring 是一个流行的 Java 开发框架,被广泛应用于企业级应用开发中。在 Spring 框架中,配置文件起着至关重要的作用,因为它们描述了应用程序中各个组件之间的关系,并提供了各种配置选项,以满足不同应用程序的需求。本文将介绍如何使...
    99+
    2023-07-02
    spring 文件 javascript
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作