繁体   English   中英

如何从 JBOSS CLI 调用对 JMS 临时队列的操作

[英]How to call operations on JMS temporary queue from JBOSS CLI

我正在尝试在临时队列(例如fe517553-6c53-42d6-8aaa-d8ea154fd8b0 )上调用诸如listDeliveringMessages() ,该队列由 JBoss 6.4.0.GA EAP / 7.2.x 中的 jms.Topic 创建。 我需要从 JBoss CLI 执行此操作。

我通过运行接近做到这一点:

/subsystem=messaging/hornetq-server=default/jms-queue=fe517553-6c53-42d6-8aaa-d8ea154fd8b0

但是 JBoss CLI 说找不到队列。 然而,如果我从 JVisualVM 接近这个并检查 MBean,我可以直观地运行这些操作(这不是我想要的!):

队列

选择时,我可以有所有属性的列表:

在此处输入图片说明

我应该运行什么命令来从 JBoss CLI 获取相同的属性和调用操作?

用于主题订阅的队列可以在runtime-queue找到。 例如,如果您在名为myTopic的主题上创建了订阅者,则可以运行以下命令:

/subsystem=messaging/hornetq-server=default/jms-topic=myTopic/:list-all-subscriptions

这将为您提供所有当前订阅者的信息,包括订阅队列的名称,例如:

{
    "outcome" => "success",
    "result" => [{
        "durable" => false,
        "queueName" => "6257c1d9-9039-4e76-a4cd-857de77f13a8",
        "messageCount" => 0,
        "deliveringCount" => 0,
        "consumers" => [{
            "creationTime" => 1535727397857L,
            "consumerID" => 0,
            "browseOnly" => false,
            "connectionID" => "397639080",
            "sessionID" => "0fb5712d-ad2e-11e8-94a8-45dabcb25ee3"
        }]
    }]
}

然后,您可以获取订阅队列的名称并使用如下命令进行查找:

/subsystem=messaging/hornetq-server=default/runtime-queue=6257c1d9-9039-4e76-a4cd-857de77f13a8:read-resource(include-runtime=true)

这会告诉你队列的所有属性,例如:

{
    "outcome" => "success",
    "result" => {
        "consumer-count" => 1,
        "dead-letter-address" => "jms.queue.DLQ",
        "delivering-count" => 0,
        "durable" => false,
        "expiry-address" => "jms.queue.ExpiryQueue",
        "filter" => undefined,
        "id" => 52L,
        "message-count" => 0L,
        "messages-added" => 0L,
        "paused" => false,
        "queue-address" => "jms.topic.myTopic",
        "scheduled-count" => 0L,
        "temporary" => true
    }
}

但是,此队列似乎不支持list-all-delivering-messages操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM