如何在 Spring Boot 中设置 amqp RabbitMQ 消费者标签?

How to set amqp RabbitMQ consumer tag in Spring Boot?

在问题 中,有人询问如何在使用 Spring Amqp 时更改消费者标签,答案建议提供 ConsumerTagStrategy.

的实现

我正在使用 Spring Boot 2.0.5 并且我正在尝试弄清楚我是否可以进行相同的自定义,尽管我找不到任何配置 属性 也没有提供类型为 ConsumerTagStrategy 的 bean 似乎可行。

我该怎么办?

覆盖引导的容器工厂 bean 声明并将其添加到那里。

@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(
        SimpleRabbitListenerContainerFactoryConfigurer configurer,
        ConnectionFactory connectionFactory) {
    SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
    configurer.configure(factory, connectionFactory);
    factory.setConsumerTagStrategy(q -> "myConsumerFor." + q);
    return factory;
}