0

我正在研究 Azure ServiceBus 主题订阅。我在服务总线命名空间中创建了一个主题和两个订阅。在我当前的应用程序中,我可以在使用订阅者接收消息之后向主题发送消息。

但是,每当一个订阅者从主题中读取消息时,这些消息就会进入死信队列。这就是为什么第二个订阅者将无法从主题中读取消息的原因。

我在处理来自主题的消息后在我的代码中写了这一行

await subscriptionClient.CompleteAsync(message.SystemProperties.LockToken);

我按照这个文档来实现上述场景。

那么,任何人都可以建议我如何一次使用多个订阅者从主题中读取消息。

4

1 回答 1

0

每当一个订阅者从主题中读取消息时,这些消息就会进入死信队列。这就是为什么第二个订阅者将无法从主题中读取消息的原因。

要么存在处理逻辑错误,要么重试消息,直到它被移动到死信队列,或者你已经MaxDeliveryCount设置为一次处理尝试。无论哪种方式,检查DeadLetterReasonDeadLetterErrorDescription标题/属性的原因消息被移动到死信队列。

谁能建议我如何一次使用多个订阅者从主题中读取消息。

Azure 服务总线支持竞争消费者模式,你不必做任何特别的事情。

于 2019-03-06T19:57:24.710 回答