Jboss EAP 6 CLI 脚本需要重新加载命令
Jboss EAP 6 CLI Script with commands that require reload
我正在为 JBoss EAP 6 开发一个 cli 脚本(只是 .bat 文件中的一堆命令)。
现在我 运行 遇到相互依赖的命令问题,前者将服务器设置为 "reload-required" 状态。
例如:
- 第一个命令:删除默认数据源
ExampleDS
。结果:成功,服务器状态 "reload required"
- 第二个命令:删除 h2-driver(默认数据源需要)。结果:失败,因为服务器尚未重新启动。
我试图在两者之间放置一个 reload
命令,但似乎在执行第二个命令时服务器没有完全启动。结果仍然失败,但如果我在几秒钟后尝试,它会起作用。
/subsystem=datasources/data-source=ExampleDS:remove
reload
/subsystem=datasources/jdbc-driver=h2:remove
有什么建议可以让 CLI 等待 JBoss 再次完全启动吗?
尝试将这些命令一起批处理,然后在 运行 批处理后重新加载。例如:
batch
/subsystem=datasources/data-source=ExampleDS:remove
/subsystem=datasources/jdbc-driver=h2:remove
:reload
run-batch
另一种选择是 运行 服务器在配置时以 admin-only
模式启动服务器。在这种情况下,您应该需要 reload
命令,但如果确实如此,请确保在完成服务器配置之前使用 :reload(admin-only=true)
。
%JBOSS_HOME%\bin\standalone.bat --admin-only
rem Wait until server is started, then execute the CLI commands
%JBOSS_HOME%\bin\jboss-cli.bat -c --commands="/subsystem=datasources/data-source=ExampleDS:remove,/subsystem=datasources/jdbc-driver=h2:remove"
我正在为 JBoss EAP 6 开发一个 cli 脚本(只是 .bat 文件中的一堆命令)。
现在我 运行 遇到相互依赖的命令问题,前者将服务器设置为 "reload-required" 状态。
例如:
- 第一个命令:删除默认数据源
ExampleDS
。结果:成功,服务器状态 "reload required" - 第二个命令:删除 h2-driver(默认数据源需要)。结果:失败,因为服务器尚未重新启动。
我试图在两者之间放置一个 reload
命令,但似乎在执行第二个命令时服务器没有完全启动。结果仍然失败,但如果我在几秒钟后尝试,它会起作用。
/subsystem=datasources/data-source=ExampleDS:remove
reload
/subsystem=datasources/jdbc-driver=h2:remove
有什么建议可以让 CLI 等待 JBoss 再次完全启动吗?
尝试将这些命令一起批处理,然后在 运行 批处理后重新加载。例如:
batch
/subsystem=datasources/data-source=ExampleDS:remove
/subsystem=datasources/jdbc-driver=h2:remove
:reload
run-batch
另一种选择是 运行 服务器在配置时以 admin-only
模式启动服务器。在这种情况下,您应该需要 reload
命令,但如果确实如此,请确保在完成服务器配置之前使用 :reload(admin-only=true)
。
%JBOSS_HOME%\bin\standalone.bat --admin-only
rem Wait until server is started, then execute the CLI commands
%JBOSS_HOME%\bin\jboss-cli.bat -c --commands="/subsystem=datasources/data-source=ExampleDS:remove,/subsystem=datasources/jdbc-driver=h2:remove"