如何从 JBOSS CLI 调用 JMS 临时队列上的操作
How to call operations on JMS temporary queue from JBOSS CLI
我正在尝试在 JBoss 6.4 中的 jms.Topic 创建的临时队列(比如 fe517553-6c53-42d6-8aaa-d8ea154fd8b0
)上调用 listDeliveringMessages()
等操作。0.GA EAP / 7.2.x。我需要从 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
操作。
我正在尝试在 JBoss 6.4 中的 jms.Topic 创建的临时队列(比如 fe517553-6c53-42d6-8aaa-d8ea154fd8b0
)上调用 listDeliveringMessages()
等操作。0.GA EAP / 7.2.x。我需要从 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
操作。