小编kle*_*der的帖子

spring ampq注解驱动一个队列两个监听器区分路由key

事实上我不明白这个运行。也许我误解了一些东西,无论如何这是不可能的。我正在尝试在同一个队列、相同的交换器上配置 2 个侦听器,但只有路由键应该不同。我的问题是事情不知何故变得混乱。结果是侦听器 A 收到了侦听器 B 的消息。但只是有时,有时一切正常。有什么建议么?

我的配置

@Bean
public ConnectionFactory connectionFactory() {
    CachingConnectionFactory connectionFactory = new CachingConnectionFactory(getHostname());
    connectionFactory.setUsername(getUsername());
    connectionFactory.setPassword(getPassword());
    return connectionFactory;
}

@Bean
public RabbitAdmin rabbitAdmin() {
    return new RabbitAdmin(connectionFactory());
}

@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory() {
    SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
    factory.setMessageConverter(new CustomMessageConverter());
    factory.setConnectionFactory(connectionFactory());
    factory.setAcknowledgeMode(AcknowledgeMode.AUTO);
    factory.setConcurrentConsumers(10);
    factory.setMaxConcurrentConsumers(10);
    return factory;
}

@Override
public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) {
    registrar.setMessageHandlerMethodFactory(myHandlerMethodFactory());
}

@Bean
public DefaultMessageHandlerMethodFactory myHandlerMethodFactory() {
    DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory();
    factory.setMessageConverter(new MappingJackson2MessageConverter());
    return factory;
}
Run Code Online (Sandbox Code Playgroud)

我的听众A

@RabbitListener(bindings = @QueueBinding(value = @Queue(value …
Run Code Online (Sandbox Code Playgroud)

java rabbitmq spring-annotations spring-amqp

3
推荐指数
1
解决办法
1760
查看次数

标签 统计

java ×1

rabbitmq ×1

spring-amqp ×1

spring-annotations ×1