5.2. 消息频道
概述
消息频道 是消息传递系统中的逻辑频道。也就是说,将消息发送到不同的消息频道提供了将消息排序到不同的消息类型的元素。消息队列和消息主题是消息通道的示例。您应该记住逻辑通道与物理通道不同。有几种不同的方法可以物理实现逻辑频道。
在 Apache Camel 中,消息频道由面向消息的组件的端点 URI 代表,如 图 5.2 “消息频道模式” 所示。
图 5.2. 消息频道模式
面向消息的组件
Apache Camel 中的以下面向消息的组件支持消息频道的概念:
ActiveMQ
在 ActiveMQ 中,消息通道由 队列或主题 表示。特定队列 QueueName 的端点 URI 具有以下格式:
activemq:QueueName
特定主题的 TopicName 的端点 URI 具有以下格式:
activemq:topic:TopicName
例如,要将消息发送到队列 Foo.Bar
,请使用以下端点 URI:
activemq:Foo.Bar
如需了解更多详细信息,以及设置 ActiveMQ 组件的说明,请参阅 Apache Camel 组件参考指南 中的 ActiveMQ。
JMS
Java 消息传递服务(JMS)是一种通用打包程序层,用于访问许多不同类型的消息系统(例如,您可以使用它来包装 ActiveMQ、S MQ 系列、Tibco、BEA、S Sonic 等)。在 JMS 中,消息通道由队列或主题表示。特定队列 QueueName 的端点 URI 具有以下格式:
jms:QueueName
特定主题的 TopicName 的端点 URI 具有以下格式:
jms:topic:TopicName
如需了解更多详细信息,请参阅 Apache Camel 组件参考指南 中的 Jms。
AMQP
在 AMQP 中,消息频道由队列或主题表示。特定队列 QueueName 的端点 URI 具有以下格式:
amqp:QueueName
特定主题的 TopicName 的端点 URI 具有以下格式:
amqp:topic:TopicName
有关设置 AMQP 组件的详情,请参阅 Apache Camel 组件参考指南 中的 Amqp。