我们使用的是Spring Boot 1.5.9,Framework 4.3.6,AMQP 1.7.4,RabbitMQ AMQP Client 4.0.3
从2.0版开始,Spring AMQP禁用了 automaticRecoveryEnabled 在目标RabbitMQ上 ConnectionFactory : https://docs.spring.io/spring-amqp/docs/2.1.4.RELEASE/reference/#auto-recovery
automaticRecoveryEnabled
ConnectionFactory
由于您使用的版本基于RabbitMQ ConnectionFactory 由Cloud Connectors提供,您需要显式禁用它:
@Bean @Primary public ConnectionFactory connectionFactory(){ ConnectionFactory connectionFactory = cloud().getSingletonServiceConnector(ConnectionFactory.class, null); ((CachingConnectionFactory) connectionFactory).getRabbitConnectionFactory().setAutomaticRecoveryEnabled(false); return connectionFactory; }
您的解决方案将基于Spring AMQP提供的恢复机制。