0

I'm using Amazon AWS Managed ActiveMQ with a .NET Core project. We use Amqp.NET Lite to connect and communicate using the queue.

Now I'm trying to implement management of unprocessable message. What I essencially need is to tell the queue to send the message after a specified time or a later specific time. Is that possible using Amqp.NET Lite. I couldn't find documentation that cover this.

To my best understanding of this documentation, what I understood is that I'm supposed to setup the redelivery as a configuration at the ActiveMQ Console. Is that the case? If so is there a way I can do this without knowing when should I redeliver this? A time the application's IReceiverLink can specify on rejecting the message?

Jins Peter
  • 2,368
  • 1
  • 18
  • 37

1 Answers1

1

None of the protocols that ActiveMQ supports allow for asking for a specific redelivery time when rejecting or nack'ing the message. Since you are using AMQP you'd need to use a Modified(undeliverableHere:true, deliveryFailed:true) type disposition to cause the broker the send the message to the DLQ and configure the redelivery plugin on the broker with controls for how many attempts should be made and what the delay should be for the redelivery attempt.

Tim Bish
  • 17,475
  • 4
  • 32
  • 42
  • Okay,, Then again with the `Modify` Method, There is a third parameter `Field MessageAnnotations`? Can you give me some light to what that parameter is supposed to do. Can I add some new info to the message and expect that information to be available in the message the next time the message is delivered tot the client? – Jins Peter Jan 31 '20 at 16:15
  • The specification does provide that as a means of updating messages but I don't yet know of any provider that actually implements that so I'd not base any work off them actually taking affect – Tim Bish Jan 31 '20 at 18:42