Как вызывать операции во временной очереди JMS из интерфейса командной строки JBOSS

Я пытаюсь вызвать такие операции, как listDeliveringMessages(), во временной очереди (скажем, fe517553-6c53-42d6-8aaa-d8ea154fd8b0), созданной jms.Topic в JBoss 6.4.0.GA EAP/7.2.x. Мне нужно сделать это из интерфейса командной строки JBoss.

Я был близок к этому, запустив:

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

Но интерфейс командной строки JBoss говорит, что очередь не найдена. Тем не менее, если я подойду к этому из JVisualVM и проверю MBeans, я смогу выполнить операции визуально (а это не то, что я ищу!):

очередь

И при выборе этого я могу получить список всех атрибутов:

введите здесь описание изображения

Какую команду следует запустить, чтобы получить те же атрибуты и операции вызова из интерфейса командной строки JBoss?


person LoreV    schedule 30.08.2018    source источник
comment
Какую версию JBoss AS вы используете?   -  person Justin Bertram    schedule 30.08.2018
comment
Привет Джастин, v6.4   -  person LoreV    schedule 30.08.2018


Ответы (1)


Очереди, используемые для подписки на темы, можно найти в 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 не поддерживается для этой очереди.

person Justin Bertram    schedule 31.08.2018