簡體   English   中英

Apache Camel:errorHandler vs onException?

[英]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.

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