关于队列交换机等初始化的问题
来源:5-11 利用RabbitListener快速实现消息处理器(上)

进阶拿offer
2021-06-23
现在我想的是能否把交换机队列的信息放入到数据库的表中,在项目启动的时候将一些交换机、队列名称加载进来进行初始化,但是遇到了一个问题就是在@RabbitListener注解中我想要放入要监听的队列名称,但是发现注解中一定要使用常量,我从数据库中查到的数据是变量无法使用。不知道这个样的话应该怎么处理呢?
写回答
1回答
-
这里确实不太方便,我目前想到两个方案:
注解中是可以取springboot配置参数的,可以将注解改为取配置参数。
1自己可以写一个sh脚本,先去数据库取配置,再启动应用,启动时将数据库中取到的队列名称,放入启动参数中,或者放入application配置文件中。
2一些微服务技术,可以将动态配置在启动前注入到应用的配置里。
PS 但是话说回来,业务的队列名称还是固定下来比较好。
112021-06-27