将Windows Azure Service Bus从1.x升级到2.0 - 重试策略

时间:2014-03-31 18:06:15

标签: azure azureservicebus

我正在努力升级使用旧Windows Azure Service Bus(2.0之前版本)的代码。

此代码使用企业库瞬态故障处理块来提供在调用Service Bus API以发送和接收队列消息时利用的重试策略。

通常代码看起来像这样(减去所有try / catch / finally等):

 retryPolicy.Execute(() =>  { queueClient.Send(msg); });

但是,在Service Bus 2.0中,重试策略内置于消息传递工厂中,因此我可以设置:

_msgFactory.RetryPolicy = RetryExponential.Default;
var queueClient = _msgFactory.CreateQueueClient(path, mode);

完成后,我可以围绕调用queueClient.Send(msg).

删除TFH重试策略的Execute()包装器

这是否真的需要确保队列客户端重试瞬态异常?似乎很简单。我怎样才能证明它正在重试?

1 个答案:

答案 0 :(得分:1)

这确实是你需要做的;)它不容易模拟将被处理瞬态的错误。可能是一个非常短的网络问题(虽然我不确定客户端连接问题是否会被视为瞬态)