【问题标题】:Set Autorecovery enabled Spring amqp rabbitmq in xml在 xml 中设置启用自动恢复的 Spring amqp rabbitmq
【发布时间】:2015-07-23 07:20:01
【问题描述】:

使用 rabbitmq 客户端,我可以很好地使用以下 bean injection,我听说 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>

但是当涉及到 spring amqp for rabbit 时,我没有找到这样做的选择。

感谢您对我提出的问题的任何帮助..

这真的很有趣,也是我们在单消息总线架构下工作时需要解决的重要通信问题之一。由于我们计划将消息总线的内部细节抽象出来,因此有必要提供我们需要在消费者端和生产者端启用的属性类型。

这是我的 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设置自动恢复

【问题讨论】:

    标签: rabbitmq spring-amqp


    【解决方案1】:

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

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

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

    【讨论】:

    • 你能告诉我如何在 producer.xml 中设置 recoveryinterval
    • 这是我的 producer.xml .... ........等我在谷歌搜索什么都没有,根据我的搜索。你能帮我在 producer.xml 中设置恢复间隔吗,
    • 不要在 cmets 中发布代码/配置 - 这是不可读的。请改为编辑问题。
    • 生产者端不需要恢复;损坏的频道将按需创建。如果需要,您可以在 rabbit 模板中启用重试。
    • ======================== 假设我想在消费者端设置恢复间隔。可以告诉我如何在下面的 xml 中进行自动恢复。 springframework.org/schema/beans/spring-beans-3.1.http://… ">
    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多