2.2. Apache ActiveMQ Artemis Core API 和 JMS Destinations


让我们快速讨论 JMS 目的地如何映射到 Apache ActiveMQ Artemis 地址。

Apache ActiveMQ Artemis 核心是 JMS-agnostic.它没有任何 JMS 主题的概念。JMS 主题在 core 中作为绑定有零个或多个队列的地址(主题名称)实施。绑定到该地址的每个队列都代表一个主题订阅。类似地,JMS 队列作为地址(JMS 队列名称)实施,其绑定了一个队列,它代表 JMS 队列。

按照惯例,所有 JMS 队列映射到核心队列,其中核心队列名称具有 string jms.queue. 前缀为它。例如,名称为 Order .europe 的 JMS 队列将使用 name jms.queue.orders.europe 映射到核心队列。绑定核心队列的地址也由核心队列名称提供。

对于 JMS 主题,通过将 string jms.topic. 添加到 JMS 主题的名称来为代表订阅的队列绑定的地址。例如,名称为 news.europe 的 JMS 主题将映射到核心 address jms.topic.news.europe

换句话说,如果您发送 JMS 消息到带有名称 Order .europe 的 JMS 队列,它会在服务器上路由到绑定到 address jms.queue.orders.europe 的任何核心队列。如果您发送 JMS 消息到名称为 news.europe 的 JMS 主题,它会在服务器上路由到绑定到 address jms.topic.news.europe 的任何核心队列。

如果要使用名称 Order .europe 配置 JMS 队列的设置,您需要配置对应的内核 queue jms.queue.orders.europe

<!-- expired messages in JMS Queue "orders.europe" will be sent to the JMS Queue "expiry.europe" -->
<address-setting match="jms.queue.orders.europe">
   <expiry-address>jms.queue.expiry.europe</expiry-address>
   ...
</address-setting>
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat