繁体   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