Search code examples
muleamqpmule-studiomule-component

AMQP Recover Message with and without REQUEUE behaviour in Mule ESB


I'm using AMQP endpoints, If the message consumer I'm doing retry using AMQP recover. Here my query is

Mule have given option in AMQP Recover with Requeue = true or Requeue = false. But in rabbit doc they have strongly said Recover with Requeue= false is not supported http://www.rabbitmq.com/specification.html. Could anyone can explain what with and without requeue option happen in Mule.

Also I have tried AMQP recover with and without requeue option.Put one message in inbount queue and tested

1.Recover alone with requeue option enabled - If consumer is down , it tries to retry as expected. But as soon as Consumer service is up. There are 2 message being hit ( instead of single hit).Not sure why?

2.Recover alone without requeue option enabled - As expected, it tries to do retry,when the service is up. One message being hit( It is correct).

So I thought to use Recover without requeue- Some other time I'm also getting exception since requeue is set to 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, ""}.

It is due to since I kept reply-text=NOT_IMPLEMENTED - requeue=false. If that is the case why Mule have given as requeue as Optional. I got nicely confused. Could anyone help me on clearing the views.


Solution

  • This is an AMQP transport for Mule, not a RabbitMQ specific one.

    So you have to check that the AMQP features you are using are available in the particular AMQP broker you are using.