如何在 Spring Boot 中使用 @Lazy 延迟加载 RabbitMQ 队列?

问题描述

实际上,在我的 RabbitMQ 配置中,我为每个队列声明了 10 个消费者。因此,所有消费者线程都是在我的 Spring Boot 应用程序完全启动之前创建的,因此应用程序启动需要时间。

我想在我的项目启动时延迟加载我所有的 Rabbitmq 队列。我尝试在配置类上使用 @Lazy,但似乎不起作用。

有没有办法声明延迟加载队列?

解决方法

autoStartup="false"(或侦听器容器)上设置 @RabbitListener

然后手动启动监听器。

https://docs.spring.io/spring-amqp/docs/current/reference/html/#container-management

对于 @RabbitListener 或仅 start() 容器(如果它们是 bean)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...