SpringCloud消息总线Bus配置中心实现过程解析

 更新时间:2020年03月23日 08:50:35   作者:玉天恒  
这篇文章主要介绍了SpringCloud消息总线Bus配置中心实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

介绍和使用场景

1)什么是消息

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

2)为什么使用这个

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

SpringCloud配置中心可参考:

https://www.jb51.net/article/182888.htm

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

建议:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 关于RowBounds分页原理、RowBounds的坑记录

    关于RowBounds分页原理、RowBounds的坑记录

    这篇文章主要介绍了关于RowBounds分页原理、RowBounds的坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • 一文解析Apache Avro数据

    一文解析Apache Avro数据

    本文是avro解析的demo,当前FlinkSQL仅适用于简单的avro数据解析,复杂嵌套avro数据暂时不支持。本文主要解析Apache Avro数据的相关内容,感兴趣的朋友一起看看吧
    2021-12-12
  • Spring中依赖注入(DI)几种方式解读

    Spring中依赖注入(DI)几种方式解读

    这篇文章主要介绍了Spring中依赖注入(DI)几种方式解读,构造器依赖注入通过容器触发一个类的构造器来实现的,该类有一系列参数,每个参数代表一个对其他类的依赖,需要的朋友可以参考下
    2024-01-01
  • mybatis嵌套循环map方式(高级用法)

    mybatis嵌套循环map方式(高级用法)

    这篇文章主要介绍了mybatis嵌套循环map方式(高级用法),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java多线程start()方法原理解析

    Java多线程start()方法原理解析

    这篇文章主要介绍了Java多线程start()方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • java调用Oracle存储过程的方法实例

    java调用Oracle存储过程的方法实例

    这篇文章介绍了java调用Oracle存储过程的方法实例,有需要的朋友可以参考一下
    2013-09-09
  • java后台防止表单重复提交方法详解

    java后台防止表单重复提交方法详解

    这篇文章主要介绍了后台防止表单重复提交,利用Session防止表单重复提交,判断请求url和数据是否和上一次相同,利用Spring AOP和redis的锁需要的朋友可以参考下
    2022-12-12
  • 18个Java8日期处理的实践(太有用了)

    18个Java8日期处理的实践(太有用了)

    这篇文章主要介绍了18个Java8日期处理的实践(太有用了),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 基于SpringBoot集成测试远程连接Redis服务的教程详解

    基于SpringBoot集成测试远程连接Redis服务的教程详解

    这篇文章主要介绍了基于SpringBoot集成测试远程连接的Redis服务的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • SpringBoot @Retryable注解方式

    SpringBoot @Retryable注解方式

    这篇文章主要介绍了SpringBoot @Retryable注解方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09

最新评论