MassTransit:如何为 Send/Publish 配置重试策略

MassTransit: How to configure retry policy for Send/Publish

我正在将 MassTransit 与 Azure 服务总线结合使用,并希望为 Send/Publish 配置重试策略。

我的做法是:

    ```private void ConfigureUsingAzureServiceBus(IServiceCollectionConfigurator x)
    {
        x.AddBus(provider => Bus.Factory.CreateUsingAzureServiceBus(cfg =>
        {
            cfg.ConfigurePublish(c =>
            {
                c.UseRetry(rc => rc.Interval(90, TimeSpan.FromSeconds(2)));
            });

            cfg.ConfigureSend(c =>
            {
                c.UseRetry(rc => rc.Interval(90, TimeSpan.FromSeconds(2)));
            });```

我不确定这是否正确,因为我有时会收到:Microsoft.Azure.ServiceBus.ServiceBusException 并且我的消息没有发送到总线。

MassTransit 不支持 Publish/Send 的重试政策。

对于 Azure 服务总线,传输在后台使用 Azure 服务总线 .NET 客户端库的重试策略。如果最终抛出异常,那是因为客户端库放弃了。