@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);
答案 0 :(得分:1)
目前尚不清楚你的问题是什么。
重试@Bean用于在应用程序侦听器无法处理消息时重试。
恢复设置用于在与代理的连接丢失时恢复连接/通道。
Spring AMQP在侦听器容器上有自己的重新连接(recoveryInterval
),因此不需要设置Rabbit客户端选项。使用Spring AMQP< 1.4.0,您必须不设置这些选项。
如果您使用的是Spring AMQP 1.4.0或更高版本,则可以在底层连接工厂as described in the documentation上设置它们,但这并不是必需的,因为Spring AMQP会为您重新连接。