Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring AMQP与RabbitMQ接收相同消息_Java_Spring_Spring Boot_Rabbitmq_Spring Amqp - Fatal编程技术网

Java Spring AMQP与RabbitMQ接收相同消息

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

我有一个小型rabbitmq spring启动应用程序:

@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)....
我看到同样的信息在事件发生之前被发送了多次 已从队列中删除


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

如果您的侦听器引发异常,消息将被重新查询并发送

不能多次发送,否则不可能


打开调试日志以查看消息流。

以下是日志:。我启用了调试级别,并在有效负载值上添加了缓存,我看到相同的值被发送到服务;它们不一样;也许问题出在发送端?你是对的,我有一个循环重复提交相同的消息。花了一些时间来找出循环。