为什么我的 Azure 服务总线队列在未启用时会向死信子队列发送消息?
从一开始我就确保过期的消息不会被移动到死信队列(或者我是这么认为的)。
在 Visual Studio Server Explorer 中,我在队列下看到了这个:
- EnableDeadLetteringOnMessageExpiration: False
但我也看到了这个:
- 死信消息数:16
我不能像往常一样把它们拉出来,所以我创建了一个临时服务来处理(摆脱)这些,这就是我能够从brokeredMessage.Properties
:
- DeadLetterReason: MaxDeliveryCountExceeded
- DeadLetterErrorDescription:10 次传递尝试后无法使用消息。
我希望消息在未完成时仅留在正常队列中。到目前为止,我已将 MaxDeliveryCount 更改为 1000,但这不是一个真正的解决方案。
我在看什么?
更新 阅读我自己的文字后,我意识到 EnableDeadLetteringOnMessageExpiration 与传递计数无关。我可以选择让我的消息永远留在正常队列中吗?还是我必须将 MaxDeliveryCount 设置为“足够高”?