多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
CachingConnectionFactory使用Rabbit客户端ConnectionFactory的一个实例; 在CachingConnectionFactory上设置等效属性时,会传递许多配置属性(例如host,port,userName,password,requestedHeartBeat,connectionTimeout)。 要设置其他属性(例如clientProperties),请定义Rabbit工厂的实例,并使用CachingConnectionFactory的相应构造函数提供对它的引用。 如上所述使用命名空间时,请在connection-factory属性中提供对已配置工厂的引用。 为方便起见,提供了一个工厂bean来帮助在Spring应用程序上下文中配置连接工厂,如下一节中所述。 ~~~ <rabbit:connection-factory id="connectionFactory" connection-factory="rabbitConnectionFactory"/> ~~~ >4.0.x客户端默认启用自动恢复; 虽然与此功能兼容,但Spring AMQP有自己的恢复机制,通常不需要客户端恢复功能。 建议禁用amqp-client自动恢复,以避免在代理可用时获取AutoRecoverConnectionNotCurrentlyOpenException,但连接尚未恢复。 您可能会注意到此异常,例如,在RabbitTemplate中配置RetryTemplate时,即使故障转移到群集中的另一个代理也是如此。 由于自动恢复连接在计时器上恢复,因此可以使用Spring AMQP的恢复机制更快地恢复连接。 从版本1.7.1开始,Spring AMQP禁用它,除非您明确创建自己的RabbitMQ连接工厂并将其提供给CachingConnectionFactory。 RabbitConnectionFactoryBean创建的RabbitMQ ConnectionFactory实例默认情况下也会禁用该选项。