`

Spring Cloud (1)——config server使用SVN作为远程例子的运行与配置

阅读更多

 

官方链接与文档 写道

 

https://spring.io/guides/gs/centralized-configuration/

 

 

Spring cloud config Server基于Spring boot构建,

 

  1. 建议下载使用官方的Eclipse ( sts-3.7.2.RELEASE)
  2. 下载config server sample 的源码,并导入到eclipse工程中,gs-centralized-configuration-complete\configuration-service
  3. 修改配置文件
  4. 启动程序

配置文件 maven文件:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.example</groupId>
	<artifactId>configuration-service</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.2.8.RELEASE</version>
		<relativePath /> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<java.version>1.8</java.version>
	</properties>

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


		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.tmatesoft.svnkit</groupId>
		<artifactId>svnkit</artifactId>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-starter-parent</artifactId>
				<version>Angel.SR4</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
</project>

 application.properties:

server.port=8888
spring.application.name=configServer
#spring.cloud.config.server.git.uri=${HOME}/Desktop/config
spring.profiles.active=subversion
spring.cloud.config.server.svn.uri=svn://IP:port/project/config
spring.cloud.config.server.svn.username=lvdccyb
spring.cloud.config.enabled=true
spring.cloud.config.server.svn.password=lvdccyb@126.com
spring.main.show-banner=false

 

其中这3项表面使用svn,并需要注意,远程url可用。

 

 

spring.profiles.active=subversion
spring.cloud.config.server.svn.uri=svn://IP:port/project/config
spring.cloud.config.server.svn.username=lvdccyb

 

 

 

运行结果(部分内容去掉):

 

 

http://localhost:8888/env

 

{
    "profiles": [
        "subversion"
    ],
    "bootstrap": {},
    "servletContextInitParams": {},

    "configServerClient": {
        "spring.cloud.config.enabled": "false"
    },
    "applicationConfig: [classpath:/application.properties]": {
        "spring.cloud.config.server.svn.password": "******",
        "spring.cloud.config.server.svn.uri": "svn://X.Y.Z.U/project/config",
        "server.port": "8888",
        "spring.profiles.active": "subversion",
        "spring.main.show-banner": "false",
        "spring.cloud.config.enabled": "true",
        "spring.cloud.config.server.svn.username": "lvdccyb",
        "spring.application.name": "configServer"
    },
    "defaultProperties": {
        "spring.application.name": "bootstrap"
    }
}

http://localhost:8888/configuration-client/default

注意上面地址:对应的svn地址一般为:
svn://IP:PORT/{$配置的uri}/trunk/configuration-client.properties
而且这个地址,需要仔细阅读spring 官方文档对application,profile,label的解释,以及路径的寻找优先级,上述地址缺省配置时,可以写成多种多样:
http://localhost:8888/configuration-client/default/trunk
http://localhost:8888/configuration-client/trunk/trunk
http://localhost:8888/configuration-client/trunk
甚至如下:
http://localhost:8888/configuration-client/abc
这里需要多一级trunk目录,而不是直接使用配置文件。

{
    "name": "configuration-client",
    "profiles": [
        "default"
    ],
    "label": "trunk",
    "propertySources": [
        {
            "name": "svn://IP:PORT/{$配置的uri}/trunk/configuration-client.properties",
            "source": {
                "IamApplicationName": "true",
                "message": "Hello World,I am spring client"
            }
        }
    ]
}

—————————————————————————————————————————————

Config 客户端:

application.properties文件
#这个需要与配置文件对应起来
spring.application.name=configuration-client
spring.cloud.config.uri=http://localhost:8888
启动程序后,访问:

http://localhost:8080/message

可以看到:

Hello World,I am spring client

 

这个与前面SERVER端显示的内容一样,说明配置已经生效了。

分享到:
评论
2 楼 lvdccyb 2017-03-27  
wuhan_liurui 写道
安装这种配置并没有成功,上面说的,需要仔细阅读spring 官方文档对application,profile,label的解释,没有找到官网有解释,可否发链接给我看看


有什么问题?我这是早期版本1.2.8现在1.4,1.5了。
另外:
里面使用的变量,SVN路径,需要配置成相应的路径
1 楼 wuhan_liurui 2017-02-24  
安装这种配置并没有成功,上面说的,需要仔细阅读spring 官方文档对application,profile,label的解释,没有找到官网有解释,可否发链接给我看看

相关推荐

    微服务框架 springcloud config 自动刷新远程svn配置代码示例

    本示例主要关注如何利用Spring Cloud Config实现远程SVN配置的自动化刷新,这有助于提升开发效率并确保配置的一致性。 首先,`spring-cloud-config-server`是Spring Cloud Config的核心组件,它作为一个配置中心,...

    Spring Cloud配置中心获取不到最新配置信息的问题

    Spring Cloud配置中心获取不到最新配置信息的问题可以通过设置 `spring.cloud.config.server.git.basedir` 或 `spring.cloud.config.server.svn.basedir` 参数来解决,关键是了解配置中心的工作机制和基于VCS的...

    spring-cloud-config-server 源码电子书

    在这些文件中,可以设置spring.cloud.config.server.bootstrap为"true",此时Config Server就会以嵌入式配置客户端的形式运行,使用自己的配置仓库作为属性源。 ConfigServerBootstrapApplicationListener类的设计...

    SpringCloud之七 分布式配置中心SpringCloudConfig.pdf

    2. 支持远程仓库:Spring Cloud Config可以支持多种后端存储方式,如Git、SVN等版本控制系统,使得配置可以像代码一样进行版本管理。 3. 支持版本回退:利用Git等版本控制系统的特性,可以非常方便地回退到历史版本...

    spring cloud config 代码示例

    Spring Cloud Config 是一个用于管理应用配置的微服务框架,它允许开发者在开发、测试和生产环境中,以集中化、外部化的方式管理应用的配置。这个框架使得配置可以在不同的环境之间轻松切换,为分布式系统的配置管理...

    spring-cloud-config

    Spring Cloud Config 是一个用于微服务架构的外部化配置服务器,它允许我们将应用程序的配置存储在远程仓库中,然后在运行时动态地为服务提供配置。这个框架是 Spring Cloud 生态系统的一部分,旨在解决分布式系统中...

    spring cloud中文版【Spring Cloud Config】--spring cloud中文文档.pdf

    1. 进入spring-cloud-config-server目录。 2. 运行`mvn spring-boot:run`命令启动服务端。 服务端是一个Spring Boot应用程序,因此用户可以从命令行启动,也可以从IDE启动。 **客户端示例** 客户端示例部分会介绍...

    springcloud微服务框架+服务模版

    spring-cloud-config-svn-refresh:配置中心svn版本示例,客户端refresh版本示例 spring-cloud-config-eureka:配置中心服务化和高可用代码示例 spring-cloud-config-eureka-bus:配置中心和消息总线示例(配置中心...

    26-Spring Cloud分布式配置中心Config1

    Spring Cloud分布式配置中心Config是微服务架构中解决多环境配置管理的一个重要工具。在传统的开发过程中,不同环境(如开发、测试、生产)的配置管理往往由开发人员手动处理,或者通过复杂的流程来确保配置的正确性...

    spring-cloud使用的各种示例

    - [springcloud(七):配置中心svn示例和refresh](http://www.ityouknow.com/springcloud/2017/05/23/springcloud-config-svn-refresh.html) - [springcloud(八):配置中心服务化和高可用]...

    spring-cloud-examples

    spring-cloud-config-svn-refresh:配置中心svn版本示例,客户端refresh版本示例 spring-cloud-config-eureka:配置中心服务化和高可用代码示例 spring-cloud-config-eureka-bus:配置中心和消息总线示例(配置中心...

    Spring Cloud 中文文档 参考手册 中文版2018

    Config客户端使用时,可以通过Git或SVN等版本控制系统来存储配置信息。客户端还可以配置安全,支持加密和解密配置内容。此外,Spring Cloud Config支持使用Vault等第三方安全存储来管理敏感信息。 Spring Cloud ...

    springcloud2020-config:cloud配置中心

    在 "springcloud2020-config:cloud配置中心" 的主题中,我们将深入探讨 Spring Cloud Config 的核心概念、功能以及如何在实际项目中使用。 首先,配置中心的核心理念是将应用程序的配置从代码中分离出来,存储在...

    springcloud学习笔记.docx

    1. **Spring Cloud Config**:这是一个配置管理工具,支持将应用的配置存储在 Git 或 SVN 等版本控制系统中。它允许应用在运行时动态地获取和更新配置,还支持加密和解密配置内容。 2. **Spring Cloud Netflix**:...

    SpringCloud配置、教程.docx

    - **Spring Cloud Config**:集中式配置管理工具,支持将配置文件存储于远程位置(如Git仓库),并通过服务端和客户端来管理和获取配置,简化了配置管理流程。 ##### 6. 服务跟踪 - **Spring Cloud Sleuth**:提供...

    Spring Cloud简明教程

    Spring Cloud Config允许将配置集中管理,配置服务器(ConfigServer)集中管理微服务的配置文件。通过使用Git、SVN等版本控制系统,可以将配置文件统一存储在外部。ConfigServer可以从配置仓库获取配置并为微服务...

    currency-config-server:用于通过GIT,SVN或HashiCorp Vault进行配置,使用Java 8,Spring Cloud Finchley M8,Spring Cloud Config Server和Spring Cloud Starter Bus,JUnit 4进行集中管理的中央管理服务器

    用于通过GIT,SVN或具有Java 8,Spring Cloud Finchley M8,Spring Cloud Config Server和Spring Cloud Starter Bus,JUnit 4的Java 8的GIT,SVN或HashiCorp Vault进行配置的中央管理的配置主服务器 参考文件 配置...

    springCloud一整套完整的demo

    2. **配置中心**:Spring Cloud Config 提供了一种集中化的配置管理方式,支持 Git 或 SVN 存储配置,使得开发人员可以动态地更新配置,而无需重启服务。 3. **数据链路追踪**:Zipkin 或 Sleuth 可用于收集微服务...

    springcloud-config:springcloud-config配置中心

    SpringCloud Config 是一个基于 Spring Boot 的微服务配置中心,它允许开发者在运行时集中管理和更新应用的配置。这个系统由两个主要组件组成:Config Server 和 Config Client。Config Server 存储并提供配置信息,...

Global site tag (gtag.js) - Google Analytics