消费队列配置 autoStartup = false
@
RabbitListener(queues = {"xxx.yyy.zzz"},containerFactory = "abcContainerFactory", autoStartup = "false")
public void consumer(Message message) {
//...
}
在某个地方开启消费
Collection<MessageListenerContainer> listenerContainers = rabbitListenerEndpointRegistry.getListenerContainers();
for (MessageListenerContainer listener : listenerContainers) {
if (!listener.isAutoStartup() && !listener.isRunning()) {
String[] queueNames = ((SimpleMessageListenerContainer) listener).getQueueNames();
listener.start();
log.info("queueName:{}, isRunning:{}", queueNames, listener.isRunning());
}
}