zoukankan      html  css  js  c++  java
  • SpringCloud------消息总线Bus实现配置中心自动获取git中xml配置

    介绍和使用场景

    1)什么是消息

    一个事件,需要广播或者单独传递给某个接口

    2)为什么使用这个

    配置更新了,但是其他系统不知道是否更新

    SpringCloud配置中心可参考:

     https://www.cnblogs.com/tianhengblogs/p/12508120.html

    1.安装RabbitMQ

    下载地址:

    http://erlang.org/download/

    Erlang版本:Erlang OTP 21:10.0.1

    下载地址:

    https://www.rabbitmq.com/install-windows.html

    RabbitMQ版本:Rabbitmq: 3.7.15

    2.访问地址

    http://127.0.0.1:15672/

    用户名:guest

    密码:guest

    3.添加依赖

    例如:

    商品服务添加下面依赖,配置中心服务不用加

    <!-- bus,rabbitmq -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>

    4.修改Controller

    添加@RefreshScope注解

    @RestController
    @RequestMapping("/api/v1/product")
    @RefreshScope
    public class ProductController {
    
        @Value("${server.port}")
        private String port;
    
        //这是自己加的配置
        @Value("${env}")
        private String env;
    
        @RequestMapping("/list")
        public Object getAllList() {
            String msg = "data from port: " + port + ",env: " + env);
            return ;
        }
    
    }    

    5.添加项目中的bootstrap..yml配置

    spring:
      #添加RabbitMQ配置
      rabbitmq:
        host: localhost
        port: 5672
        username: guest
        password: guest
    
    #暴露全部的监控信息
    management:
      endpoints:
        web:
          exposure:
            include: "*"

    6.启动项目后,修改git中的yml配置env,再用Postman调用下面接口

    步骤:

    修改git的application.yml配置

    1)修改端口号为:8771,启动项目

    )修改端口号为:8772,启动项目

        修改env为:test1234

    注意:

    使用SpringCloud配置中心后,在idea中修改配置-Dserver.port=8772启动项目是不生效的

    7.访问接口,查看返回的env是否改变,evn值均变为test123456

    http://127.0.0.1:8771/api/v1/product/find?id=1

    http://127.0.0.1:8772/api/v1/product/find?id=1

    建议:

    动态刷新配置,在开发和测试环境使用,尽量少在生产环境使用

  • 相关阅读:
    cordova插件(一)-inappbrowser
    quartz框架(一)-入门使用
    gitbook联动github
    系统服务部署入门
    websocket深入研究
    日志组件-logback入门
    nginx专题-nginx入门
    springmvc使用websocket入门
    基于cordova的混合app开发
    C语言------指针
  • 原文地址:https://www.cnblogs.com/tianhengblogs/p/12514553.html
Copyright © 2011-2022 走看看