问题描述
我有一个用于多个队列的 NServiceBus 实例。现在我只有一个需要特殊类型的延迟重试和自定义策略的队列。在这个队列中,我有一个 3rd 方调用,我希望它以特定的时间间隔模式重试 10 次。
我已经阅读了documentation about delayed retries,我的理解是它会影响所有队列,而不仅仅是我想要的队列。 如何实施?
我使用 NServiceBus 和 RabbitMq 测试环境,使用 Azure 服务总线测试生产环境。
解决方法
可恢复性策略应用于端点级别。当您需要使用不同的可恢复性策略处理某种消息类型时,您可以override 默认可恢复性策略以根据您的需要对其进行自定义。当您需要配置与其余消息不匹配的完全不同的延迟重试次数时,您应该将逻辑端点拆分为两个,并让需要不同可恢复性的消息类型由新端点处理。