0

Suppose u have a topic with multiple subscriptions and u want to resubmit/reprocess a message in the dead-letter queue of one subscription.

How would u do that so that only that subscription picks up the message again? Without having all other subscriptions picking up the message for the second time.

As far as my knowledge goes u have to re-submit the message to the topic again. That is eg what a tool like "ServiceBusExplorer" does.

Robert Pouleijn
  • 399
  • 2
  • 15

1 Answers1

0

As far as my knowledge goes u have to re-submit the message to the topic again.

That is correct. You will need to read the message from that subscription's DLQ and post the message back to the topic.

If you want the original subscription to pick the message, one possible solution would be to define a custom property (let's call it TargetSubscription) and set it's value to the name of the subscription which you want to pick up this message. So you read the messsage from DLQ, add this property and then send the message to the topic.

Before that you will need to define a SQL Filter on this property so that any message with this combination of property name/value reaches only the subscription it is meant for.

Gaurav Mantri
  • 128,066
  • 12
  • 206
  • 241
  • Oke not a ideal solution: I would need to change the original label value of the message and have all subscriptions have an OR clause: WHERE label = "original label' OR label = 'DLQ-specific-subscription' and create a new MessageId because the topic has duplicate message detection :) – Robert Pouleijn Jun 05 '20 at 12:15