1
@Bean
public StatefulRetryOperationsInterceptor interceptor() { 
     return RetryInterceptorBuilder.stateful()  
    .maxAttempts(5)
    .backOffOptions(1000, 2.0, 10000) 
    .build();   
}

我们可以用这个bean来做spring-rabbitmq自动恢复吗,因为spring rabbit不支持

factory.setAutomaticRecoveryEnabled(true);
factory.setNetworkRecoveryInterval(10000);
4

1 回答 1

2

不清楚你的问题是什么。

retry @Bean 用于在您的应用程序侦听器无法处理消息时重试。

恢复设置用于在与代理的连接丢失时恢复连接/通道。

Spring AMQP 有自己的重新连接(recoveryInterval在侦听器容器上),因此不需要设置 rabbit 客户端选项。使用 Spring AMQP < 1.4.0 时,不得设置这些选项。

如果您使用的是 Spring AMQP 1.4.0 或更高版本,您可以在底层连接工厂中设置它们,如文档中所述,但这并不是必需的,因为 Spring AMQP 将为您重新连接。

于 2014-11-26T14:03:22.010 回答