spring rabbitmq自动恢复启用
因为SpringRabbit不支持自动恢复,我们可以使用这个bean进行SpringRabbitMQ自动恢复吗spring rabbitmq自动恢复启用,spring,spring-rabbit,Spring,Spring Rabbit,因为SpringRabbit不支持自动恢复,我们可以使用这个bean进行SpringRabbitMQ自动恢复吗 @Bean public StatefulRetryOperationsInterceptor interceptor() { return RetryInterceptorBuilder.stateful() .maxAttempts(5) .backOffOptions(1000, 2.0, 10000) .build(); } 你
@Bean
public StatefulRetryOperationsInterceptor interceptor() {
return RetryInterceptorBuilder.stateful()
.maxAttempts(5)
.backOffOptions(1000, 2.0, 10000)
.build();
}
你的问题是什么还不清楚 retry@Bean用于在应用程序侦听器无法处理消息时重试 恢复设置用于在与代理的连接丢失时恢复连接/通道 Spring AMQP有自己的重新连接(
recoveryInterval
在侦听器容器上),因此实际上不需要设置rabbit客户端选项。使用Spring AMQP<1.4.0时,必须不设置这些选项
如果您使用的是Spring AMQP 1.4.0或更高版本,则可以在基础连接工厂上设置这些,但这并不是真的必要,因为Spring AMQP将为您重新连接。谢谢gary russell,我的问题是,我有一个运行了很多天的服务。该服务永远不会更改。但所有其他服务都会更改。但该服务会在某一时间失去与rabbitmq的连接,但rabbitmq仍在运行。我可以做些什么来避免这种情况连接丢失如果连接丢失,则消息将无法恢复。恢复意味着消息将被发送回队列-这是默认行为。抛出连接异常后,RabbitMQ端的消息将标记为未确认,并将发送给另一个使用者
factory.setAutomaticRecoveryEnabled(true);
factory.setNetworkRecoveryInterval(10000);