65.16. 互操作性


65.16.1. JMS

在操作 Kafka 和 JMS 时,可能需要将 JMS 标头合并到其预期的类型中。

例如,当消耗来自 Kafka 的消息时,会使用 JMS 标头并将其发送到 JMS 代理,这些标头首先会反序列化到一个字节数组。然后,camel-jms 组件会尝试将此字节数组合并到所使用的特定类型中。但是,原始端点以及其ef的代码设置可能会影响数据如何序列化和反序列化。因此,不可能假定字节阵列的数据类型。

要解决这个问题,我们提供了一个自定义标头反序列化器,以强制 Kafka 根据 JMS 规格反序列化 JMS 数据。此方法可确保标头被 camel-jms 组件正确解释和处理。

由于每个可能的系统和端点的固有复杂性,此反序列化器可能无法覆盖所有可能的情况。因此,它以模型的形式提供,可以修改和/或根据每个应用程序的具体需求进行调整。

要使用此解决方案,您需要通过包含 headerDeserializer 选项来修改管道消费者末尾的路由 URI。例如:

from("kafka:topic?headerDeserializer=#class:org.apache.camel.component.kafka.consumer.support.interop.JMSDeserializer")
    .to("...");
Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部