29.11. Kafka Headers propagation


当消耗 Kafka 的消息时,标头会自动传播到 camel Exchange 标头。生成由同一行为支持的流 - 特定交换的 camel 标头将传播到 kafka 消息标头。

由于 kafka 标头仅允许 字节[] 值,因此为了 camel Exchange 标头,则传播其值应被序列化为 bytes[],否则将跳过标头。支持以下标头值类型: String,Integer,Long, Double, 布尔值,byte[]。注: 从 kafka 传播到 camel Exchange 的所有标头都会默认包含 byte[] 值。要覆盖默认功能 uri 参数,可从 route 和 headerSerializer 为 的路由设置 headerDeserializer例如:

from("kafka:my_topic?headerDeserializer=#myDeserializer")
...
.to("kafka:my_topic?headerSerializer=#mySerializer")
Copy to Clipboard Toggle word wrap

默认情况下,所有标头都由 KafkaHeaderFilterStrategy 过滤。策略过滤掉以 Camelorg.apache.camel 前缀开头的标头。可使用到路由中的 headerFilterStrategy uri 参数来覆盖默认策略:

from("kafka:my_topic?headerFilterStrategy=#myStrategy")
...
.to("kafka:my_topic?headerFilterStrategy=#myStrategy")
Copy to Clipboard Toggle word wrap

myStrategy 对象应该是 HeaderFilterStrategy 的子类,且必须手动放置在 Camel registry 中,或者将其注册为 Spring/Blueprint 中的 bean,因为它是 CamelContext aware。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat