设置自动恢复启用Spring amqp rabbitmq in xml

时间:2015-07-23 07:20:01

标签: rabbitmq spring-amqp

使用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设置自动恢复

1 个答案:

答案 0 :(得分:0)

Spring AMQP拥有(并且一直拥有)它自己的连接恢复机制。兔子客户端稍后添加它,它的机制与Spring AMQP不兼容。设置automaticRecoveryEnabled将导致1.4.0之前的Spring AMQP版本出现问题。

1.4.0及更高版本与rabbitmq设置兼容,但仍使用自己的恢复机制。

您可以更改邮件侦听器容器上的recoveryInterval(默认为5秒)。