3

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

我已经查看了如何在 Wildfly 中使用 CLI 设置消息传递子系统,但我得到的只是错误。

[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"/>
4

2 回答 2

1

确保使用运行您的wildfly standalone-full.xml,然后尝试以下命令jboss-cli.sh

jms-queue add --queue-address=myQueue --entries=queues/myQueue
于 2020-03-25T07:34:09.917 回答
1

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

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

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

于 2020-01-08T03:11:23.507 回答