如何使用 Artemis JMS 管理创建持久队列 API

How to create durable queue using Artemis JMS Management API

说来话长,但我需要使用 Artemis JMS 管理 API 创建一个 持久 队列。目前代码默认创建一个临时队列:

JMSManagementHelper.putOperationInvocation("jms.server", "createQueue", "MyqueueName", null, null, true);

我认为原作者假设这会创建一个持久队列,但显然不是。我找不到这方面的好文档,想知道是否有人可以 confirm/deny 这个。

提前致谢。

此文档是 https://activemq.apache.org/artemis/docs/latest/management.html or management.md in GitHub. Then there is the API doc 以查找详细信息。

查看https://activemq.apache.org/artemis/docs/javadocs/javadoc-latest/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.html#createQueue-java.lang.String-java.lang.String-java.lang.String-你要调用的方法是

createQueue(String address, String name, String filter, boolean durable)

文档说

If address is null it will be defaulted to name.

您正在将 name 设置为空,而不是 address。如果我改为 运行

JMSManagementHelper.putOperationInvocation("0.0.0.0", "createQueue", null, "MyqueueName", null, true);

那也不行。我相信这是一个错误。将进行更多调查并报告。

所以我复制了队列名称

JMSManagementHelper.putOperationInvocation("0.0.0.0", "createQueue", "MyqueueName", "MyqueueName", null, true);

现在我正确地获得了持久队列。