带有需要重新加载命令的Jboss EAP 6 CLI脚本

Jba*_*ann 5 jboss command-line-interface jboss7.x

我正在为JBoss EAP 6开发cli脚本(只是.bat文件中的一堆命令)。

现在,我遇到了相互依赖的命令的问题,前者将服务器设置为“需要重新加载”状态。

例如:

  1. 第一个命令:删除default-datasource ExampleDS。结果:成功,服务器处于“需要重新加载”状态
  2. 第二个命令:删除h2-driver(默认为数据源)。结果:失败,因为服务器尚未重新启动。

我试图reload在两者之间放置一条命令,但是当第二条命令执行时,服务器似乎没有完全启动。结果仍然是失败的,尽管如果几秒钟后再尝试也可以。

/subsystem=datasources/data-source=ExampleDS:remove
reload
/subsystem=datasources/jdbc-driver=h2:remove
Run Code Online (Sandbox Code Playgroud)

关于如何使CLI等到JBoss重新完全启动的任何建议?

Jam*_*ins 4

尝试将这些命令一起批处理,并在运行批处理后重新加载。例如:

batch
/subsystem=datasources/data-source=ExampleDS:remove
/subsystem=datasources/jdbc-driver=h2:remove
:reload
run-batch
Run Code Online (Sandbox Code Playgroud)

另一种选择是运行服务器以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"
Run Code Online (Sandbox Code Playgroud)