2016-11-08 52 views
0

我正在使用Masstransit + RabbitMQ。我的一位消費者實現重試策略,並且我想知道是否有任何方法可以在消息進入錯誤隊列時獲取消息的重試次數?獲取MassTransit郵件重試數量

另外我想知道MT如何計數重試,因爲我沒有在使用RabbitMq服務器的消息頭中找不到任何相關信息。

謝謝。

回答

0

您可以在消費者中使用以下方法重試重試嘗試次數。

consumeContext.GetRetryAttempt() 

如果是重試,它應該返回> 0。

+0

是的,但是這些數據存儲在哪裏?在消息的頭文件或中間件的某處? – Paulik

+0

它在消息處理過程中保留在中間件負載中。它不會在任何地方持續存在。 –

+0

@ChrisPatterson:沒有嘗試過使用RabbitMQ,但使用Azure Service Bus或內存中的傳輸,返回值始終爲0.這是一個錯誤嗎?缺少的功能?或者它爲你工作,我做錯了什麼? –