![](/img/trans.png)
[英]How do I hook into NServiceBus to write to a log file when a message is transferred to the error queue?
[英]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.