我有一个小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)....
我看到在播放之前多次发送了相同的消息 从队列中删除。
如何更改此配置以确保邮件只发送一次。
答案 0 :(得分:0)
如果您的侦听器抛出异常,则该消息将被重新排队并发送。
不能多次发送 - 不可能。
启用DEBUG日志记录以观察消息流。