目标
我们已经在 简介 中讨论了 ActiveMQ 和 Artemis 之间的差异。现在让我们深入了解细节,看看如何配置 JMS 队列和主题。需要注意的是,默认情况下,这两个代理都配置为自动创建客户端请求的目标,这是许多用例的首选行为。这可以通过授权安全策略进行配置,因此我们将在本手册的后面部分介绍这个主题。现在,让我们看看如何在两个代理中预定义 JMS 队列和主题。
在 ActiveMQ 中,目标在 conf/activemq.xml
配置文件中的 <destinations>
部分预定义。
<destinations>
<queue physicalName="my-queue" />
<topic physicalName="my-topic" />
</destinations>
Artemis 的情况略有不同。我们已经解释过,队列是 anycast
地址,主题是 multicast
地址。我们不会深入研究地址设置的细节,建议你查看用户手册。让我们看看为了复制 ActiveMQ 配置,我们需要做什么。
地址定义在 etc/broker.xml
配置文件中的 <addresses>
部分。因此,上面的 ActiveMQ 示例的相应 Artemis 配置如下所示
<addresses>
<address name="my-queue">
<anycast>
<queue name="my-queue"/>
</anycast>
</address>
<address name="my-topic">
<multicast></multicast>
</address>
</adresses>
完成此步骤后,我们的目标就在新的代理中准备好了。