搜索

第 5 章 消息传递系统

download PDF

摘要

本章介绍了消息传递系统的基本构建块,如端点、消息频道和消息路由器。

5.1. 消息

概述

消息 是在消息传递系统中传输数据的最小单元(由下图中的问候点代表)。消息本身可能有一些内部结构是,例如,一个包含多个部分的一条 message to the geometrical 图,它由附加到 图 5.1 “Message Pattern” 中的问候点表示。

图 5.1. Message Pattern

消息模式

消息类型

Apache Camel 定义以下不同的消息类型:

  • 在消息 wagon-xdg A 消息中,消息通过从消费者端点到生成者端点的路由传输(通常是启动消息交换)。
  • 消息 HEKETI-2 消息,其通过从制作者端点的路由传输回消费者端点(通常,响应 In 消息)。

所有这些消息类型都由 org.apache.camel.Message 接口在内部表示。

消息结构

默认情况下,Apache Camel 会将以下结构应用到所有消息类型:

  • 标头 wagon-wagon 包含从消息中提取的元数据或标头数据。
  • 正文 wagon- swig 通常以其原始形式包含整个消息。
  • 附加信息 附加(需要与某些消息传递系统集成,如 JBI)。

务必要记住,此部门位于标头、正文和附件中,这是消息的抽象模型。Apache Camel 支持许多不同的组件,它们生成各种消息格式。最后,它是底层组件实施,决定进入消息的标头中和正文。

协调消息

在内部,Apache Camel 记住消息 ID,用于关联单个消息。然而,在实践中,Apache Camel 与消息相关的最重要的方法是通过 交换 对象。

Exchange 对象

Exchange 对象是封装相关消息的实体,其中相关消息的集合称为 消息交换,以及管理消息序列的规则称为 交换模式。例如,两种常见的交换模式是:单向事件消息(协调 In 消息)和 request-reply 交换(协调 In 消息,后跟 Out 消息)。

访问消息

在 Java DSL 中定义路由规则时,您可以使用以下 DSL 构建器方法访问消息的标头和正文:

  • header (String name), body () HEKETI-wagon return the named 标头和当前 In 消息的正文。
  • outBody () wagon-wagon 返回当前 Out 消息的正文。

例如,要填充 In 消息 的用户名 标头,您可以使用以下 Java DSL 路由:

from(SourceURL).setHeader("username", "John.Doe").to(TargetURL);
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.