@RefreshScope无法动态刷新配置的原因?

我使用config-server作为配置中心服务端,config-client作为客户端

目前config-server可以正常从远端git仓库拉取到配置信息,config-client可以通过config-server获取配置信息(更新git仓库中配置信息后需要重启客户端才能获取最新配置)

遇到的问题: 我想要使用SpringCloudBus来实现动态的配置信息刷新。安装了RabbitMQ并在config-server和config-client添加依赖并在pom文件进行配置后,通过@RefreshScope无法动态获取最新的配置信息(更新远端仓库配置后依然需要重启服务才能获取最新的配置)

config-server的pom配置如下

<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

config-server的application.properties

#服务器端口号
server.port=80
#应用名称
spring.application.name=config-server
#注册中心地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
#配置文件Git地址
spring.cloud.config.server.git.uri=
spring.cloud.config.server.git.username=
spring.cloud.config.server.git.password=
spring.cloud.config.server.git.basedir=
#服务监控,暴露所有端点
management.endpoints.web.exposure.include=*
management.endpoints.web.cors.allowed-origins=*
management.endpoints.web.cors.allowed-methods=*
#开启消息追踪
spring.cloud.bus.trace.enabled=true
#rabbitmq配置信息
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=
spring.rabbitmq.template.mandatory=true

config-server的启动类

@SpringBootApplication
@EnableEurekaClient
@EnableConfigServer
public class ConfigServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }
}

config-client的配置

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-client</artifactId>
        </dependency>
#注册中心地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/

#开启服务发现(必须开启)
spring.cloud.config.discovery.enabled=true
#找到配置中心实例
spring.cloud.config.discovery.service-id=CONFIG-SERVER
#指定配置文件名称
spring.cloud.config.name=order
#指定环境(文件后缀)
spring.cloud.config.profile=dev
#指定分支
spring.cloud.config.label=master

#开启消息追踪
spring.cloud.bus.trace.enabled=true
#rabbitmq配置信息
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=admin
spring.rabbitmq.password=

测试类

@RestController
@RequestMapping("/config")
@RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
public class TestController {

    @Value("${env}")
    private String env;

    @GetMapping("/getInfo")
    public String getInfo() {
        return env;
    }

}

git仓库中的配置 order-dev.properties

env=204

初步怀疑是RabbitMQ的问题,因为在加了@RefreshScope注解后,访问测试方法localhost:9000/config/getInfo后,config-server的控制台是空的没有输出有拉取配置信息动作的信息,也就是config-server从远端仓库拉取到最新的配置信息后,没有发送消息到RabbitMQ或者是目前版本的一个BUG
RabbitMQ界面如下
Overview

img

Connections

img

Channels

img

Exchanges

img

Queues

img

补充版本信息
spring-boot-starter-parent 2.5.2
spring-cloud-starter-bus-amqp 3.0.3
spring-cloud-dependencies 2020.0.3
spring-boot-actuator 2.5.2

整这么麻烦不如上nacos