问题描述
实际上,在我的 RabbitMQ 配置中,我为每个队列声明了 10 个消费者。因此,所有消费者线程都是在我的 Spring Boot 应用程序完全启动之前创建的,因此应用程序启动需要时间。
我想在我的项目启动时延迟加载我所有的 Rabbitmq 队列。我尝试在配置类上使用 @Lazy
,但似乎不起作用。
有没有办法声明延迟加载队列?
解决方法
在 autoStartup="false"
(或侦听器容器)上设置 @RabbitListener
。
然后手动启动监听器。
https://docs.spring.io/spring-amqp/docs/current/reference/html/#container-management
对于 @RabbitListener
或仅 start()
容器(如果它们是 bean)。