这是错误的地址配置和端口配置
(本机端口已改5673)
这里错把spring.rabbitmq.addresses当成spring.rabbitmq.host使用,导致生成RabbitConnectionFactoryBean连接时使用的是默认端口,而不是修改后的5673。
通过RabbitAutoConfiguration类我们可以发现:
点进RabbitProperties类的determinePort()
可以看到如果parsedAddresses不为空的话,我们自己配置的port是不生效的
这个parsedAddresses是在何时被设置的呢?就是在我们设置了spring.rabbitmq.addresses配置时一起设置的
在parseAddresses(String addresses)方法中,通过解析配置的addresses来获取配置的主机和端口,然后通过Address类的有参构造器生成其对象进而生成parseAddresses属性。
所以如果配置 spring.rabbitmq.addresses 就不要配置单独配置host和port,并且addresses的配置方式为host:port。