如何使用 jboss-cli 在 WildFly 17 中创建 JMS 队列

How to create JMS queue in WildFly 17 with jboss-cli

我是 运行 WildFly 17,处于域模式。我们一直在手动添加 JMS 队列,但我宁愿将配置添加为部署脚本的一部分。我可以使用 jboss-cli 创建服务器和数据源,但我似乎无法在队列方面取得任何进展。我想以 domain_config.xml 看起来像这样结束:

<subsystem xmlns="urn:jboss:domain:messaging-activemq:7.0">
   <server name="default">
      ...
      <jms-queue name="MyQueue" entries="java:/queue/MyQueue" durable="true"/>

我查看了 How to set up messaging subsystem using CLI in Wildfly,但我得到的只是错误。

[domain@machine.foo.com:9990 /] /subsystem=messaging-activemq/server=default/jms- queue=MyQueue:add(entries=[java:/jms/queue/MyQueue])
Failed to get the list of the operation properties: "WFLYCTL0030: No resource definition is 
registered for address [
    ("subsystem" => "messaging-activemq"),
    ("server" => "default"),
    ("jms-queue" => "MyQueue")
 ]"

domain_config.xml的完整嵌套是:

    <domain xmlns="urn:jboss:domain:10.0">
      <profiles>
        <profile name="full">
            <subsystem xmlns="urn:jboss:domain:messaging-activemq:7.0">
                <server name="default">
                   <jms-queue name="MyQueue" entries="java:/queue/MyQueue" durable="true"/>

在域模式下工作与独立模式有很大不同,主要是因为您必须指定 "profile" 您的命令应适用的对象。例如,如果您处于域模式并且域中有一个名为 "full" 的配置文件,并且您想要向该域添加一个名为 "foo" 的 JMS,那么您可以执行此命令:

jms-queue --profile=full add --queue-address=foo --entries=["java:/jms/queue/foo"]

您可以使用 help --commands 命令查看可用命令列表,然后深入查看任何这些命令的帮助。

确保使用 standalone-full.xml 运行 你的 wildfly,然后在 jboss-cli.sh

中尝试以下命令
jms-queue add --queue-address=myQueue --entries=queues/myQueue