簡體   English   中英

如何引發強制將消息發送到NServiceBus中的錯誤隊列的異常

[英]How to throw an exception that forces message to error queue in NServiceBus

NServiceBus中是否有一種方法可以在處理程序內引發異常(或執行其他操作),從而避免重試,並自動將消息路由到錯誤隊列?

當正確處理要處理的消息,但具有無效值(如空字符串)時,將成為一個用例。 在這種情況下,重試永遠不會更改消息的內容,因此重試毫無意義。

謝謝

馬特

您可能想查看用於創建自定義可恢復性策略的API,該策略專門涵蓋NServiceBus 6.0,或者對於較早的版本,您可以更改更通用的可恢復性文章,您可以將其更改為特定的NServiceBus版本。 (在NServiceBus 6.0之前,它並不是那么容易配置。)

但是,我首先要問這些消息是如何以完全無效的狀態到達那里的。 驗證和恢復在技術上是分開考慮的。 驗證邏輯可以像消息組件一樣共享,並在發送和接收端運行。 然后,當錯誤隊列中的消息結束時,要采取的正確措施是針對意外情況更新驗證邏輯。

我會辯稱,構建任何防止重試發生的機制可能都不值得。 更好地進行驗證以從源頭上發現問題。 偶爾會傳出一個壞消息,但這可能不是世界末日,所以請允許重試發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM