记一次在项目中遇到rabbitmq无法设置端口

在Spring Boot项目中,使用手动配置方式集成RabbitMQ时,遇到设置端口5678不生效,底层代码仍使用默认端口5672。问题在于底层在创建连接时未使用自定义的port,而是在早期阶段就决定了。解决方案是通过cachingConnectionFactory.setAddresses(address : port)设置端口。对于为何需要自定义端口的意义,作者寻求解答。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般springboot中集成rabbitmq使用的是通过properties或者是yml配置文件进行地址等信息的配置

当然也有这种通过手写配置对象来进行配置的

好处呢:

第一种:

简单方便,只要按照规定的格式写,就一定不会出错

第二种:

1,可以选择不同的实现类型

2,可以将用户名密码等关键信息进行加密后放入数据库或者是配置文件,使用的时候再解密

在本次项目中,使用的是第二种方案,但是遇到了设置端口号不生效的问题

设置端口5678

但是在底层代码中拿到的还是5672(默认端口)

 

通过debug,一路调下去,发现底层在创建连接的时候,只获取了address中的值

 

 并没有用到port,port的取值在

cachingConnectionFactory.setAddresses(addressed);

就已经决定了

 所以:

如果通过手写连接对象去连接RabbitMQ,如果不自定义端口,可以直接使用地址就行。

如果要自定义端口的话,要使用 

 cachingConnectionFactory.setAddresses(address : port );

但是我还有个问题,

通过这样设置的端口,有什么意义呢?我没有找到……如果有找了的,请解答一下

 

 

 不积跬步无以至千里

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值