不確定我的Service Bus 1.1的重試策略邏輯有什麼問題。我們無法使用Azure服務總線。我嘗試了幾種不同的配置,但仍然沒有運氣讓它着火。它只會移動到例外。Service Bus 1.1(On Prem)消息發件人重試策略不起作用
TokenProvider provider = TokenProvider.CreateSharedAccessSignatureTokenProvider("RootManageSharedAccessKey", "<key goes here>");
var retryPolicy = new RetryExponential(TimeSpan.FromSeconds(10), TimeSpan.FromMinutes(3),
TimeSpan.FromSeconds(10), TimeSpan.FromMinutes(5), 1000);
var _factory = MessagingFactory.Create("<Namespace Address>", provider);
var _sender = _factory.CreateMessageSender("Analytics");
_sender.RetryPolicy = retryPolicy;
var message = new BrokeredMessage("message");
try
{
_sender.Send(message);
}
catch(Exception e)
{
Console.WriteLine(e);
}
爲了測試目的,我制定了異常大的重試策略。據我所知,它從不重試信息。我已經測試了各種例外情況,包括那些瞬息萬色的情況。
我已經經歷了這些帖子和文章已經閱讀:
有沒有人跑進這之前?我希望我只是想念一些簡單的事情。
報告的錯誤消息是什麼? – Raj
重試策略應該嘗試在拋出異常之前重新發送消息。這就是我要問的,爲什麼不這樣做?沒有錯誤消息,它只是不重試。我們正在模擬服務總線故障。例外情況按要求工作,重試從未發生。它立即引發異常。 –
@ J-Mac - 請您詳細說明您是如何模擬服務總線故障的。我目前面臨同樣的問題,你已經提到你的問題,我想看看我的重試邏輯是否工作或不... – gkb