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

网友投稿 232 2022-12-11


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

介绍和使用场景

1)什么是消息

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

2)为什么使用这个

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

SpringCloud配置中心可参考:

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

1.安装RabbitMQ

下载地址:

http://erlang.org/download/

Erlang版本:Erlang OTP 21:10.0.1

下载地址:

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

RabbitMQ版本:Rabbitmq: 3.7.15

2.访问地址

http://127.0.0.1:15672/

用户名:guest

密码:guest

3.添加依赖

例如:

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

&lthttp://;dependency>

org.springframework.boot

spring-boot-starter-actuator

org.springframework.cloud

spring-cloud-starter-bus-amqp

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.添加项目中的bootstrahttp://p..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/produDAKNlSMdpfct/find?id=1

建议:

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:通过实例了解Java Integer类和int的区别
下一篇:Maven发布Jar包中文乱码解决方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~