[英]Apache Camel: errorHandler vs onException?
有什么區別:
<camel:errorHandler id="deadLetterErrorHandler" type="DeadLetterChannel"
deadLetterUri="log:dead">
<camel:camelContext errorHandlerRef="deadLetterErrorHandler">
...
</camel:camelContext>
和:
<onException>
...
</onException>
根據這篇文章 ,將它們結合使用是一種“強大的組合”。 怎么會這樣? 他們每個人都扮演什么角色,他們如何相互補充?
errorHandler
用於處理在路由和處理消息期間拋出的任何未捕獲的Exception
。 相反, onException
用於在拋出特定的Exception
類型時處理它們。 查看本文以了解如何使用onException
。
如果您需要為每種類型的異常執行的操作不同,請使用onException。 它允許您基於每個異常定義錯誤處理。
onException(xxxException.class).to("activemq:xxxFailed");
onException(yyyException.class).to("activemq:yyyFailed");
如果您只需要一個通用處理程序,請使用errorHandler。 對於所有類型的錯誤,將執行相同的處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.