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

标签 jms jboss-cli wildfly-17

我在域模式下运行 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"/>

最佳答案

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

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

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

关于jms - 如何使用 jboss-cli 在 WildFly 17 中创建 JMS 队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59636272/

相关文章:

java - 开发通用 JMS 消息传递框架代码

java - 如何选择主题与队列

java - 从消息驱动 Bean (MDB) 连接到远程 JMS 提供程序

java - 带有 setRollbackOnly 的 JMS 和 MDB

java - Jboss CLI 应用程序部署

mysql - WildFly jboss-cli.sh 使用 useSSL=false 添加数据源 Mysql

java - JBoss Wildfly 在 jboss-cli 命令行模式下显示属性值

java - 从 Wildfly8 升级到 Wildfly17,子属性未出现在 API 响应中