You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过Wildfly Management CLI批量加载JSON格式配置?

批量加载JSON配置到Wildfly Messaging-ActiveMQ的方法

嘿,刚好我对Wildfly的JBoss CLI操作熟得很,你想要的这种用JSON批量加载配置的需求完全能实现,给你几个实用的方案:

方案1:用--json-input直接加载标准JSON配置文件(推荐)

这是最贴合你需求的方式,Wildfly 10及以上版本支持标准JSON格式的操作输入,步骤如下:

  1. 编写你的data.json配置文件,用标准JSON语法(键值对用:,数组用[]),比如添加队列的配置:
{
  "operation": "add",
  "address": [
    {"subsystem": "messaging-activemq"},
    {"server": "default"},
    {"jms-queue": "myTargetQueue"}
  ],
  "address-full-policy": "BLOCK",
  "dead-letter-address": "jms.queue.DLQ",
  "expiry-address": "jms.queue.ExpiryQueue",
  "last-value-queue": false,
  "max-delivery-attempts": 10,
  "max-size-bytes": 10485760
}

如果要批量添加多个配置,直接把操作放进数组里就行:

[
  {
    "operation": "add",
    "address": [{"subsystem": "messaging-activemq"}, {"server": "default"}, {"jms-queue": "queueA"}],
    "address-full-policy": "BLOCK"
  },
  {
    "operation": "add",
    "address": [{"subsystem": "messaging-activemq"}, {"server": "default"}, {"jms-queue": "queueB"}],
    "address-full-policy": "FAIL"
  }
]
  1. 执行CLI命令加载这个JSON文件:
./jboss-cli.sh -c --json-input --file=data.json
  • -c:连接到本地运行的Wildfly实例(如果是远程服务器,加上--controller=your-host:9990
  • --json-input:告诉CLI用标准JSON格式解析输入内容
  • --file=data.json:指定要加载的配置文件

方案2:通过管道传递JSON内容(适合临时测试)

如果不想单独创建文件,也可以直接用echo把JSON内容通过管道传给CLI:

echo '{
  "operation": "add",
  "address": [
    {"subsystem": "messaging-activemq"},
    {"server": "default"},
    {"jms-queue": "myQueue"}
  ],
  "address-full-policy": "BLOCK",
  "dead-letter-address": "jms.queue.DLQ"
}' | ./jboss-cli.sh -c --json-input --file=-

这里的--file=-表示从标准输入读取内容。

方案3:兼容旧版本Wildfly的CLI脚本方式

如果你的Wildfly版本低于10,不支持--json-input,可以把配置写成CLI原生的脚本文件:

  1. 创建queue-config.cli文件:
/subsystem=messaging-activemq/server=default/jms-queue=myQueue:add(
    address-full-policy=BLOCK,
    dead-letter-address="jms.queue.DLQ",
    expiry-address="jms.queue.ExpiryQueue",
    last-value-queue=false,
    max-delivery-attempts=10,
    max-size-bytes=10485760
)

批量添加的话,直接在文件里写多个命令就行。

  1. 执行命令:
./jboss-cli.sh -c --file=queue-config.cli

几个注意点

  • 确保Wildfly服务器已经启动,并且CLI能正常连接(默认端口是9990,如果修改过要对应调整)
  • 如果操作涉及权限,可能需要加上--user--password参数指定认证信息
  • 执行完命令后,可以用CLI命令验证配置是否生效,比如:
./jboss-cli.sh -c '/subsystem=messaging-activemq/server=default/jms-queue=myQueue:read-resource'

内容的提问来源于stack exchange,提问作者lemoncodes

火山引擎 最新活动