spring rabbitmq自动恢复启用

时间:2014-11-26 11:23:22

标签: spring spring-rabbit

@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);

1 个答案:

答案 0 :(得分:1)

目前尚不清楚你的问题是什么。

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

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

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

如果您使用的是Spring AMQP 1.4.0或更高版本,则可以在底层连接工厂as described in the documentation上设置它们,但这并不是必需的,因为Spring AMQP会为您重新连接。