说来话长,但我需要使用 Artemis JMS 管理 API创建一个持久队列。目前,代码默认创建一个临时队列:
JMSManagementHelper.putOperationInvocation("jms.server", "createQueue", "MyqueueName", null, null, true);
我认为原作者认为这会创建一个持久队列,但显然不是。我找不到很好的文档,想知道是否有人可以确认/否认这一点。
提前致谢。
说来话长,但我需要使用 Artemis JMS 管理 API创建一个持久队列。目前,代码默认创建一个临时队列:
JMSManagementHelper.putOperationInvocation("jms.server", "createQueue", "MyqueueName", null, null, true);
我认为原作者认为这会创建一个持久队列,但显然不是。我找不到很好的文档,想知道是否有人可以确认/否认这一点。
提前致谢。
这方面的文档是https://activemq.apache.org/artemis/docs/latest/management.html或GitHub 中的management.md。然后是API 文档来查找详细信息。
createQueue(String address, String name, String filter, boolean durable)
文档说
如果地址为空,则默认为名称。
您设置name
为 null,而不是address
. 如果我改为运行
JMSManagementHelper.putOperationInvocation("0.0.0.0", "createQueue", null, "MyqueueName", null, true);
那也行不通。我相信这是一个错误。将进行更多调查并报告。
所以我复制了队列名称
JMSManagementHelper.putOperationInvocation("0.0.0.0", "createQueue", "MyqueueName", "MyqueueName", null, true);
现在我正确地得到了一个持久队列。