2.2. Apache ActiveMQ Artemis Core API 和 Jakarta Messaging Destinations


让我们简要讨论 Jakarta 消息目的地如何映射到 Apache ActiveMQ Artemis 地址。

Apache ActiveMQ Artemis 内核是 Jakarta Messaging-agnostic.它没有任何雅加达消息传递主题的概念。Jakarta Messaging 主题作为地址(主题名称)在核心中实施,队列绑定为零个或多个队列。绑定到该地址的每个队列都代表一个主题订阅。同样,雅加达消息传递队列实施为一个地址(雅加达消息传递队列名称),其中有一个队列绑定到它,表示 Jakarta 消息传递队列。

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

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

换句话说,如果您使用名称 Order .europe 向 Jakarta 消息传递队列发送 Jakarta 消息,它将被路由到绑定到 address jms.queue.orders.europe 的任何核心队列。如果您发送 Jakarta 消息 到名称为 news.europe 的 Jakarta Messaging 主题,它会在服务器上路由到绑定到 address jms.topic.news.europe 的任何核心队列。

如果要使用名称 Order .europe 为 Jakarta Messaging 队列配置设置,您需要配置对应的内核队列 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