我們計劃在我們的應用程序中使用NServiceBus來調度消息。 在我們的例子中,每條消息都有timeToLive
屬性,定義了處理這個消息的時間段。NServiceBus異常處理和消息重試機制
對於在第一次嘗試中消息處理不成功的情況,我們的計劃是在成功處理或者timeToLive
已過期時將其移至特定的重試存儲(重試隊列)和重試消息(在重試之間有一些超時) 。
如果timeToLive
過期,我們計劃記錄消息內容和丟棄消息。
實際上,這種重試行爲主要取決於我們正在實施的協議。
有什麼辦法可以用NServiceBus來實現這樣的行爲嗎?我明白了,那些不成功的消息去了特定的error queue
。是否可以創建一個單獨的總線,指向錯誤隊列?
謝謝你,安德烈亞斯。在提出這個問題之前,我已經寫過你的文章了)。 你能告訴我是否有可能在一個進程中託管多條消息總線?可以,或者nservicebus不支持?或者許多巴士在一個過程中工作會受到嚴厲的性能處罰? – 2010-03-16 09:20:59
在默認配置模式下,每個應用程序域只能有一條總線。問題在於,您可能希望將錯誤隊列放在單獨的計算機上,並讓所有其他進程在其中移動錯誤。然後,您將擁有一個單獨的進程/總線,從那個錯誤隊列中取出您自己的定製邏輯。 – 2010-03-16 10:01:23
andeas你可能想要修復你的鏈接 – Simon 2014-02-04 02:40:50