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

时间:2018-11-02 13:35:35

标签: java spring spring-boot spring-amqp

在问题How to set the consumer-tag value in spring-amqp中,有人问使用Spring Amqp时如何更改使用者标签,答案建议提供ConsumerTagStrategy的实现。

我正在使用Spring Boot 2.0.5,我试图找出是否可以进行相同的自定义,尽管我找不到与此有关的任何配置属性,也没有提供类型ConsumerTagStrategy的bean。似乎有效。

我应该怎么做?

1 个答案:

答案 0 :(得分:2)

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

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

Tag