簡體   English   中英

Apache Camel消息范圍

[英]Apache Camel message scope

我已經編寫了一個組件(EHComponent)來對其他組件(AComponent)進行錯誤處理。

AComponent從隊列讀取,遇到錯誤,並且如果引發異常,則消息將獲取有關錯誤集的一些標頭,並調用.to(“ error.queue”)以將消息放入EHComponent的另一個隊列中閱讀。

EHComponent檢查與錯誤類型相關的消息頭,並采取相應的措施,設置一些其他消息頭(計算該消息進入錯誤隊列的次數)

EHComponent設置該值,然后調用AComponent從中讀取的.to(“ Original.Queue”)。

該問題尚未解決,因此引發了新的異常,因此該消息再次通過該過程。

我遇到的問題是,即使我認為這是同一條消息,也無法進行第二次設置,因為我設置的那些標頭不存在。

我給人的印象是消息頭在Camel中是穩定的,因此即使我處於新的交換中,消息頭也將保持完整。 我該怎么做才能確保可以從路由的任何部分的任何組件訪問消息頭?

謝謝

標頭是消息的一部分,因此,它取決於傳輸來保留標頭。 因此,當您使用組件通過隊列發送消息時,請確保保留標頭。

但是,如果您將屬性存儲在Exchange上,則在Exchange的整個生命周期內都將保留這些屬性。

暫無
暫無

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

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