SpringCloud消息总线Bus配置中心实现过程解析
介绍和使用场景
1)什么是消息
一个事件,需要广播或者单独传递给某个接口
2)为什么使用这个
配置更新了,但是其他系统不知道是否更新
SpringCloud配置中心可参考:
https://www.jb51.net/article/182888.htm
1.安装RabbitMQ
下载地址:
Erlang版本:Erlang OTP 21:10.0.1
下载地址:
https://www.rabbitmq.com/install-windows.html
RabbitMQ版本:Rabbitmq: 3.7.15
2.访问地址
用户名: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
建议:
动态刷新配置,在开发和测试环境使用,尽量少在生产环境使用
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
java微信公众号开发第一步 公众号接入和access_token管理
这篇文章主要为大家介绍了java微信公众号开发,主要内容包括公众号接入和access_token管理,感兴趣的小伙伴们可以参考一下2016-01-01
Maven中<distributionManagement>的使用及说明
本文主要介绍了Maven中的SNAPSHOT和RELEASE仓库的区别,以及如何在POM文件中配置和使用快照版本,快照版本可以实现实时更新,方便开发过程中的依赖管理,同时,本文还总结了Maven的一些常用命令及其作用2025-01-01
Spring Boot 中的 @EnableDiscoveryClient 注解
@EnableDiscoveryClient 注解是 Spring Boot 应用程序注册到服务注册中心的关键注解,这篇文章主要介绍了Spring Boot 中的 @EnableDiscoveryClient 注解,需要的朋友可以参考下2023-07-07
[Java]详解Socket和ServerSocket学习笔记
即时类应用或者即时类的游戏,HTTP协议很多时候无法满足于我们的需求,这会,Socket对于我们来说就非常实用了。本篇文章主要介绍了Socket和ServerSocket,有兴趣的可以了解一下。2016-12-12
ElasticSearch学习之ES Mapping实战示例
这篇文章主要为大家介绍了ElasticSearch学习之ES Mapping实战示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-01-01
Java应用启动停止重启Shell脚本模板server.sh
这篇文章主要为大家介绍了Java应用启动、停止、重启Shell脚本模板server.sh,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-08-08


最新评论