AMQP在Mule ESB中恢复有和没有REQUEUE行为的消息

时间:2015-04-19 02:52:21

标签: mule amqp mule-studio mule-component

我正在使用AMQP端点,如果我正在使用AMQP重试的消息使用者恢复。我的查询是

Mule在AMQP Recover中给出了Requeue = true或Requeue = false的选项。但是在兔子文档中他们强烈表示不支持Recover with Requeue = false http://www.rabbitmq.com/specification.html。任何人都可以解释在Mule中有和没有重新选择的选项。

此外,我已尝试使用和不使用requeue选项进行AMQP恢复。在入站队列中输入一条消息并进行测试

1.单独恢复并启用了重新排队选项 - 如果消费者已关闭,它会尝试按预期重试。但是一旦消费者服务上升。有两条消息被击中(而不是单击)。不确定为什么?

2.单独恢复而不启用重新排队选项 - 正如预期的那样,当服务启动时,它会尝试重试。一条消息被击中(这是正确的)。

所以我想在没有重新排队的情况下使用Recover-其他时间我也因为requeue设置为false而获得异常

  caused by: com.rabbitmq.client.ShutdownSignalException: connection error; reason: {#method<connection.close>(reply-code=540, reply-text=NOT_IMPLEMENTED - requeue=false, class-id=60, method-id=110), null, ""}.

这是因为我保留了reply-text=NOT_IMPLEMENTED - requeue=false。如果是这样的话,为什么Mule已经将Optional作为重新排队。我很困惑。任何人都可以帮我清除意见。

1 个答案:

答案 0 :(得分:1)

这是针对Mule的 AMQP 传输,而不是 RabbitMQ 特定的传输。

因此,您必须检查您正在使用的AMQP功能是否在您正在使用的特定AMQP代理中可用。