Java Spring AMQP与RabbitMQ接收相同消息
我有一个小型rabbitmq spring启动应用程序:Java Spring AMQP与RabbitMQ接收相同消息,java,spring,spring-boot,rabbitmq,spring-amqp,Java,Spring,Spring Boot,Rabbitmq,Spring Amqp,我有一个小型rabbitmq spring启动应用程序: @Bean public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(ConnectionFactory connectionFactory) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); fa
@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)....
我看到同样的信息在事件发生之前被发送了多次
已从队列中删除
如何更改此配置以确保消息只发送一次。如果您的侦听器引发异常,消息将被重新查询并发送 不能多次发送,否则不可能
打开调试日志以查看消息流。以下是日志:。我启用了调试级别,并在有效负载值上添加了缓存,我看到相同的值被发送到服务;它们不一样;也许问题出在发送端?你是对的,我有一个循环重复提交相同的消息。花了一些时间来找出循环。