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

时间:2017-06-27 13:03:51

标签: java jms activemq-artemis

这是一个很长的故事,但我需要使用Artemis JMS Management API创建持久队列。目前,代码创建了一个临时队列作为默认队列:

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

我认为原作者认为这会创建一个持久的队列,但显然不是。我无法找到关于此的好文档,并且想知道是否有人可以确认/否认这一点。

提前致谢。

1 个答案:

答案 0 :(得分:1)

GitHub中的文档为https://activemq.apache.org/artemis/docs/latest/management.htmlmanagement.md。然后有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)

文档说

  

如果address为null,则默认为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);

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