问题描述
我正在将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客户端库的幕后使用重试策略。如果最终引发异常,那是因为客户端库放弃了。