带有RabbitMQ的Spring AMQP收到相同的消息

时间:2016-08-28 14:32:40

标签: java spring spring-boot rabbitmq spring-amqp

我有一个小rabbitmq春季启动应用程序:

@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory)
{
    SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
    factory.setConnectionFactory(connectionFactory);
    factory.setAcknowledgeMode(AcknowledgeMode.AUTO);
    return factory;
}

简单队列定义:

@Bean
public Queue queue()
{
    return new Queue("queue");
}

一个记录消息的简单监听器:

@RabbitHandler
public void process(@Payload Message message)....

我看到在播放之前多次发送了相同的消息 从队列中删除。

如何更改此配置以确保邮件只发送一次。

1 个答案:

答案 0 :(得分:0)

如果您的侦听器抛出异常,则该消息将被重新排队并发送。

不能多次发送 - 不可能。

启用DEBUG日志记录以观察消息流。