前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SrpingCloud ---github上面如何使用webHook实现配置文件修改 ,客户端自动刷新

SrpingCloud ---github上面如何使用webHook实现配置文件修改 ,客户端自动刷新

作者头像
爱明依
发布2019-03-12 15:56:07
1.7K0
发布2019-03-12 15:56:07
举报
文章被收录于专栏:爱明依爱明依爱明依

SrpingCloud —github上面如何使用webHook实现配置文件修改 ,客户端自动刷新

一:客户端(消费者)端添加maven依赖

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

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

二Controller层开启自动更新机制

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

package com.demo.web;

import com.demo.feign.HelloRemote;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created by wo on 2018-03-08.
 */
@RestController
@RefreshScope// 使用该注解的类,会在接到SpringCloud配置中心配置刷新的时候,
// 自动将新的配置更新到该类对应的字段中
public class ConsumeController {

    @Autowired
    private HelloRemote helloRemote;


    @RequestMapping("/hello/{name}")
    public String index(@PathVariable("name") String name) {
        return helloRemote.dc();
    }

     @Value("${neo.hello}")
    private String hello;

    @RequestMapping("/hello")
    public String from() {
        return this.hello;
    }
}

三:配置文件修改

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

management.security.enabled=false

四:测试

,以post请求的方式来访问http://localhost:port/refres 就会更新修改后的配置文件。

五:提交代码就自动调用客户端来更新

5.1## github上配置WebHook

这里写图片描述
这里写图片描述

参数说明:

Payload URL :触发后回调的URL
Content type :数据格式,两种一般使用json
Secret :用作给POST的body加密的字符串。采用HMAC算法
events :触发的事件列表。

events事件类型 描述 push 仓库有push时触发。默认事件 create 当有分支或标签被创建时触发 这样我们就可以利用hook的机制去触发客户端的更新,但是当客户端越来越多的时候hook支持的已经不够优雅,另外每次增加客户端都需要改动hook也是不现实的。其实Spring Cloud给了我们更好解决方案,后面文章来介绍。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年03月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SrpingCloud —github上面如何使用webHook实现配置文件修改 ,客户端自动刷新
    • 一:客户端(消费者)端添加maven依赖
      • 二Controller层开启自动更新机制
        • 三:配置文件修改
          • 四:测试
            • 五:提交代码就自动调用客户端来更新
              • 5.1## github上配置WebHook
                • 参数说明:
                相关产品与服务
                微服务引擎 TSE
                微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档