我們使用Camel流利構建器來設置一系列複雜的路由,其中我們使用RecipientList功能使用動態路由。在Apache Camel中,如果端點不存在,如何接收錯誤消息?
我們遇到過在某些情況下,收件人列表包含不存在的消息傳遞端點(例如,類似於seda:notThere
)的問題。
一個簡單的例子是這樣的:
from("seda:SomeSource")....to("seda:notThere");
我如何配置路由,這樣如果交換嘗試到不存在的端點路線,拋出一個錯誤?
我正在使用Camel 2.9.x,並且我已經嘗試使用Dead Letter Channel和各種Error Handler實現,並且(看起來)沒有記錄錯誤或警告。
唯一記錄我看到表明駱駝是(試圖)發送到不存在的端點:
2013-07-03 16:07:08,030|main|DEBUG|o.a.c.p.SendProcessor|>>>> Endpoint[seda://notThere] Exchange[Message: [email protected]]
提前感謝!
謝謝你好!使用直接 - > seda選項是個好主意。但是,看起來有一個選擇是不需要根據需要創建SEDA隊列......或者至少有一些可以在這種情況發生時收到通知的監聽程序。 –
你的意思是,只有從消費者調用時才創建SEDA隊列?在你的情況下,這樣的事情可能已經完成了,從更廣泛的角度看,消費者和生產者的數量可能會隨着時間的推移而變化,你可以有時間觸發sead conusmers等等。但是,Camel是開源的,所以你可以自由地使用這樣的選項:) –
如果隊列中沒有活動的使用者,我記錄了有關失敗的故障單的故障單:https://issues.apache.org/jira/browse/CAMEL-6545 –