springboot-cloud-6-config

config-server

application.properties
server.port=8005
spring.application.name=config-server

###git仓库地址
spring.cloud.config.server.git.uri= https://github.com/github-ygy/spring_cloud_test
####git 相对目录地址  多个,分开
spring.cloud.config.server.git.search-paths=cloud-config-repository

###github public 不用配置username 和 password
#spring.cloud.config.server.git.username =
#spring.cloud.config.server.git.password=
application
@SpringBootApplication
@EnableConfigServer  //开启config服务
public class ConfigMasterApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigMasterApplication.class, args);
    }
}
输出
http://localhost:8005/test/prd
{
  "name": "test",
  "profiles": [
    "prd"
  ],
  "label": null,
  "version": "16610aaf21ae2e0934ec3522009ef993829ec086",
  "state": null,
  "propertySources": [
    {
      "name": "https://github.com/github-ygy/spring_cloud_test/cloud-config-repository/test-prd.properties",
      "source": {
        "from": "git-prd-1.0"
      }
    }
  ]
}
http://localhost:8005/test/prd/dev_ygy
{
  "name": "test",
  "profiles": [
    "prd"
  ],
  "label": "dev_ygy",
  "version": "0978a00b06877b63a89653bea4ec0ac8df779df9",
  "state": null,
  "propertySources": [
    {
      "name": "https://github.com/github-ygy/spring_cloud_test/cloud-config-repository/test-prd.properties",
      "source": {
        "from": "git-prd-2.0"
      }
    }
  ]
}

config-client

bootstrap.properties
#######必须使用bootstrap.properties  使用application.properties 将无法解析@Value属性
#######bootstrap.propeties 会优先于application.properties加载
server.port=8006

####配置中心git仓库 文件名   与<application> 对应
spring.application.name = test
#####配置中心git仓库 文件名 启动配置文件标识  与<profile> 对应
spring.cloud.config.profile = dev
####配置中心git仓库分支名    与<lable> 对应
spring.cloud.config.label=dev_ygy

####配置中心config server地址
spring.cloud.config.uri=http://localhost:8005/
controller
@RestController
public class ConfigClientController {


    @Value("${from}")
    private String from ;

    @RequestMapping("/getConfig")
    public String getConfig() {

        return this.from;
    }
}
输出
http://localhost:8006/getConfig
git-dev-2.0

config-eureka(整合)

失败响应机制/自动刷新
依赖
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.retry</groupId>
            <artifactId>spring-retry</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
bootstrap.properties


spring.application.name = config-client

#######必须使用bootstrap.properties  使用application.properties 将无法解析@Value属性
#######bootstrap.propeties 会优先于application.properties加载
server.port=8006
###eureka管理
eureka.client.serviceUrl.defaultZone=http://pear1:9998/eureka/
spring.cloud.config.discovery.enabled = true

### 失败响应
spring.cloud.config.fail-fast=true
####引入aop  retry依赖
####最大重试次数 默认6次
spring.cloud.config.retry.max-attempts= 6
####最大重试时间间隔
spring.cloud.config.retry.max-interval= 2000
#####初始重试间隔 默认1000
spring.cloud.config.retry.initial-interval = 1500
##### 下一次间隔系数
spring.cloud.config.retry.multiplier= 1.2

####开启自动刷新  引入actuator 依赖




####  感觉有bug  待后续解决 属性注册不成功,将config-server 项目注册为默认 configserver可行。
#spring.cloud.config.discovery.serviceid = config-server

####关闭授权
management.security.enabled=false


####配置中心git仓库 文件名   与<application> 对应
spring.cloud.config.name = test
#####配置中心git仓库 文件名 启动配置文件标识  与<profile> 对应
spring.cloud.config.profile = dev
####配置中心git仓库分支名    与<lable> 对应
spring.cloud.config.label=dev_ygy

####配置中心config server地址
###spring.cloud.config.uri=http://localhost:8005/

controller
@RestController
@RefreshScope
public class ConfigClientController {


    @Value("${from}")
    private String from ;

    @RequestMapping("/getConfig")
    public String getConfig() {

        return this.from;
    }
}
application
@SpringBootApplication
@EnableDiscoveryClient
public class ConfigClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigClientApplication.class, args);
        //new SpringApplicationBuilder(ConfigClientApplication.class).web(true).run(args);
    }
}
post请求刷新
public class PostRquest {

    public static void main(String[] args) throws Exception {

        HttpResponse<String> jsonResponse = Unirest.post("http://localhost:8006/refresh")
                .asString();
        System.out.println(jsonResponse.getBody());
    }
}
输出
//http://localhost:8006/getConfig
git-dev-2.0

// post request
["config.client.version","from"]

//http://localhost:8006/getConfig
git-dev-2.0-refresh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值