使用rabbitmq客户端,我可以使用以下bean注入井,我听说CachingConnectionFactory有另一个构造函数来应用com.rabbitmq.client.ConnectionFactory,这将有助于启用自动恢复,但它具有有限的属性
<bean id="rcf" class="com.rabbitmq.client.ConnectionFactory">
<property name="requestedHeartbeat" value="580" />
<property name="topologyRecoveryEnabled" value="true" />
<property name="automaticRecoveryEnabled" value="true" />
</bean>
But when it comes to spring amqp for rabbit , i found no options to do that.
I appreciate , Any help regarding the query i raised ..
这非常有趣,是我们在单一消息总线架构下工作时需要解决的重要通信问题之一。因为,我们计划抽象出消息总线的内部细节,所以有必要提供我们需要在消费者和生产者端启用哪种类型的属性。
这是我的consumer.xml
<rabbit:connection-factory id="connectionFactory"
host="${rabbitmq.host}" virtual-host="${rabbitmq.vhost}" username="${rabbitmq.user}" password="${rabbitmq.password}" />
<rabbit:admin connection-factory="connectionFactory" />
<rabbit:queue id="mQueue" name="${rabbitmq.queue.m}" />
<rabbit:queue id="mrQueue" name="${rabbitmq.queue.mr}" />
你能解释一下如何在这个xml中设置自动恢复吗?请添加xml,它将使用以上使用者xml设置自动恢复
答案 0 :(得分:0)
Spring AMQP拥有(并且一直拥有)它自己的连接恢复机制。兔子客户端稍后添加它,它的机制与Spring AMQP不兼容。设置automaticRecoveryEnabled
将导致1.4.0之前的Spring AMQP版本出现问题。
1.4.0及更高版本与rabbitmq设置兼容,但仍使用自己的恢复机制。
您可以更改邮件侦听器容器上的recoveryInterval
(默认为5秒)。