RabbitConnectionFactory未读取application.properties配置值求助
解决Spring Cloud Stream 1.x Rabbit Binder不读取用户名密码配置的问题
嘿,这个问题我之前踩过坑!你用的是Spring Cloud Stream 1.3.0.RELEASE(属于1.x分支),这个版本的Rabbit Binder不会直接读取spring.rabbitmq.*的全局配置,这就是为什么你的连接还是用默认的guest用户。
正确的配置方式
你需要把Rabbit的连接配置改成spring.cloud.stream.rabbit.binder.*前缀的格式,替换掉原来的spring.rabbitmq.*配置:
spring.cloud.stream.rabbit.binder.host=127.0.0.1 spring.cloud.stream.rabbit.binder.port=5672 spring.cloud.stream.rabbit.binder.username=homer spring.cloud.stream.rabbit.binder.password=simpson
为什么会这样?
Spring Cloud Stream 1.x版本的Rabbit Binder设计上是独立管理连接配置的,全局的spring.rabbitmq.*配置是给普通Spring AMQP场景用的,不会被binder自动继承。而从2.x版本开始,binder才会自动复用全局的Rabbit配置,这也是版本差异导致的小坑。
验证方法
修改配置后重启应用,再看日志里的连接信息,应该会显示为amqp://homer@127.0.0.1:5672/,说明已经正确使用你配置的用户名和密码了。
内容的提问来源于stack exchange,提问作者kind_robot
相关产品推荐
相关产品推荐

