如果 RabbitMQ 服务器在消费者消费消息之间重新启动,则未确认消息
Unacked message if RabbitMQ server restarts in between the consumer consumes message
我正在使用 Spring AMQP,这是我的连接工厂代码:
SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
factory.setConnectionFactory(connectionFactory);
factory.setAcknowledgeMode(AcknowledgeMode.AUTO);<br/>
factory.setDefaultRequeueRejected(false);
在使用消息期间,如果 RabbitMQ 服务器重新启动或连接丢失,我将得到以下异常:
org.springframework.amqp.rabbit.connection.AutoRecoverConnectionNotCurrentlyOpenException: Auto recovery connection is not currently open
如果服务器出现,我的应用程序将再次连接
但是有了新的连接,就会有一条未确认的消息。
如何处理?我希望消息重新排队并且我的旧连接应该被终止。
考虑使用最新的 Spring AMQP 1.7.2
关闭:
connectionFactory.setAutomaticRecoveryEnabled(false);
在目标上 com.rabbitmq.client.ConnectionFactory
支持它自己 recovery mechanism。
我正在使用 Spring AMQP,这是我的连接工厂代码:
SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
factory.setConnectionFactory(connectionFactory);
factory.setAcknowledgeMode(AcknowledgeMode.AUTO);<br/>
factory.setDefaultRequeueRejected(false);
在使用消息期间,如果 RabbitMQ 服务器重新启动或连接丢失,我将得到以下异常:
org.springframework.amqp.rabbit.connection.AutoRecoverConnectionNotCurrentlyOpenException: Auto recovery connection is not currently open
如果服务器出现,我的应用程序将再次连接 但是有了新的连接,就会有一条未确认的消息。 如何处理?我希望消息重新排队并且我的旧连接应该被终止。
考虑使用最新的 Spring AMQP 1.7.2
关闭:
connectionFactory.setAutomaticRecoveryEnabled(false);
在目标上 com.rabbitmq.client.ConnectionFactory
支持它自己 recovery mechanism。