采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
现在我想的是能否把交换机队列的信息放入到数据库的表中,在项目启动的时候将一些交换机、队列名称加载进来进行初始化,但是遇到了一个问题就是在@RabbitListener注解中我想要放入要监听的队列名称,但是发现注解中一定要使用常量,我从数据库中查到的数据是变量无法使用。不知道这个样的话应该怎么处理呢?
这里确实不太方便,我目前想到两个方案:
注解中是可以取springboot配置参数的,可以将注解改为取配置参数。
1自己可以写一个sh脚本,先去数据库取配置,再启动应用,启动时将数据库中取到的队列名称,放入启动参数中,或者放入application配置文件中。
2一些微服务技术,可以将动态配置在启动前注入到应用的配置里。
PS 但是话说回来,业务的队列名称还是固定下来比较好。
谢谢老师非常及时的回答,我也第一时间看了但是由于太忙了忘记立刻回复。目前我们使用的就是您说的第一种方式,在应用启动前我们会将配置从数据库取出来通过环境变量的方式写入项目的配置文件中,在程序代码实现上还是会从配置文件读@Value。因为在做产品升级的时候考虑到队列和监听该队列的消费者动态增减的情况,所以想尝试这一方面,在尝试的时候发现了这个问题哈哈哈。谢谢老师,已采纳!
登录后可查看更多问答,登录/注册
消息驱动架构+订单状态机,二次开发,手写分布式事务框架。
1.1k 11
1.1k 8
923 7
3.5k 7
912 6