搜索

第 6 章 消息传递频道

download PDF

摘要

消息传递通道为消息传递应用程序提供热情。本章论述了消息传递系统中可用的不同类型的消息传递频道,以及它们所扮演的角色。

6.1. point-to-Point 频道

概述

图 6.1 “指向点频道模式” 中显示的 点对点频道 是一个 消息频道,它保证只有一个接收器消耗任何给定信息。这与 发布 订阅频道不同,它允许多个接收器使用相同的消息。特别是,使用发布订阅频道,多个接收器可以订阅同一频道。如果多个接收器竞争使用消息,则会最多消息频道,以确保只有一个接收器实际消耗消息。

图 6.1. 指向点频道模式

点到点频道模式

支持点对点频道的组件

以下 Apache Camel 组件支持点对点频道模式:

JMS

在 JMS 中,点对点频道由 队列 表示。例如,您可以为名为 Foo.Bar 的 JMS 队列指定端点 URI,如下所示:

jms:queue:Foo.Bar

限定符 queue: 是可选的,因为 JMS 组件默认创建一个队列端点。因此,您还可以指定以下等同的端点 URI:

jms:Foo.Bar

如需了解更多详细信息,请参阅 Apache Camel 组件参考指南 中的 Jms

ActiveMQ

在 ActiveMQ 中,点对点通道由队列表示。例如,您可以指定名为 Foo.Bar 的 ActiveMQ 队列的端点 URI,如下所示:

activemq:queue:Foo.Bar

如需了解更多详细信息,请参阅 Apache Camel 组件参考指南 中的 ActiveMQ

SEDA

Apache Camel Staged Event-Driven 架构(SEDA)组件使用阻塞队列来实施。如果要创建一个 Apache Camel 应用程序 内部 的轻量级点对点频道,请使用 SEDA 组件。例如,您可以为名为 SedaQueue 的 SEDA 队列指定端点 URI,如下所示:

seda:SedaQueue

JPA

Java Persistence API (criu)组件是一个 EJB 3 持久性标准,用于将实体 Bean 写入数据库。如需了解更多详细信息,请参阅 Apache Camel 组件参考指南 中的 JPA

XMPP

XMPP (Jabber)组件支持点对点频道模式,在人类通信模式中使用时。如需了解更多详细信息,请参阅 Apache Camel 组件参考指南 中的 XMPP

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.