如何使用 jboss-cli 在 WildFly 17 中创建 JMS 队列
Posted
技术标签:
【中文标题】如何使用 jboss-cli 在 WildFly 17 中创建 JMS 队列【英文标题】:How to create JMS queue in WildFly 17 with jboss-cli 【发布时间】:2020-04-25 10:09:55 【问题描述】:我在域模式下运行 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"/>
【问题讨论】:
【参考方案1】:在域模式下工作与独立模式有很大不同,主要是因为你必须指定你的命令应该应用到的“配置文件”。例如,如果您处于域模式,并且域中有一个名为“full”的配置文件,并且您想向该域添加一个名为“foo”的 JMS,那么您可以执行以下命令:
jms-queue --profile=full add --queue-address=foo --entries=["java:/jms/queue/foo"]
您可以使用help --commands
命令查看可用命令的列表,然后深入了解这些命令的帮助。
【讨论】:
这对我来说仍然失败。域和独立之间可能有区别吗?【参考方案2】:确保使用standalone-full.xml
运行您的wildfly,然后在jboss-cli.sh
中尝试以下命令
jms-queue add --queue-address=myQueue --entries=queues/myQueue
【讨论】:
以上是关于如何使用 jboss-cli 在 WildFly 17 中创建 JMS 队列的主要内容,如果未能解决你的问题,请参考以下文章
JBoss Wildfly 在 jboss-cli 命令行模式下显示属性值
如何使用 Dockerfile 在启动 docker 容器上运行 jboss-cli