一般springboot中集成rabbitmq使用的是通过properties或者是yml配置文件进行地址等信息的配置
当然也有这种通过手写配置对象来进行配置的
好处呢:
第一种:
简单方便,只要按照规定的格式写,就一定不会出错
第二种:
1,可以选择不同的实现类型
2,可以将用户名密码等关键信息进行加密后放入数据库或者是配置文件,使用的时候再解密
在本次项目中,使用的是第二种方案,但是遇到了设置端口号不生效的问题
设置端口5678
但是在底层代码中拿到的还是5672(默认端口)
通过debug,一路调下去,发现底层在创建连接的时候,只获取了address中的值
并没有用到port,port的取值在
cachingConnectionFactory.setAddresses(addressed);
就已经决定了
所以:
如果通过手写连接对象去连接RabbitMQ,如果不自定义端口,可以直接使用地址就行。
如果要自定义端口的话,要使用
cachingConnectionFactory.setAddresses(address : port );
但是我还有个问题,
通过这样设置的端口,有什么意义呢?我没有找到……如果有找了的,请解答一下
不积跬步无以至千里