MassTransit:如何为发送/发布配置重试策略

问题描述

我正在将Masstransit与Azure Service Bus结合使用,并希望为发送/发布配置重试策略。

我这样做的方式是:

    ```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不支持“发布/发送”重试策略。

对于Azure Service Bus,传输在Azure Service Bus .NET客户端库的幕后使用重试策略。如果最终引发异常,那是因为客户端库放弃了。