Jboss EAP 6 CLI脚本,包含需要重新加载的命令

Jboss EAP 6 CLI脚本,包含需要重新加载的命令,jboss,command-line-interface,jboss7.x,Jboss,Command Line Interface,Jboss7.x,我正在为JBoss EAP 6编写一个cli脚本(只是.bat文件中的一组命令) 现在我遇到了相互依赖的命令的问题,前者将服务器设置为“需要重新加载”状态 例如: 第一个命令:删除默认数据源ExampleDS。结果:成功,服务器处于“需要重新加载”状态 第二个命令:删除h2驱动程序(默认数据源需要)。结果:失败,因为服务器尚未重新启动 我试图在这两者之间放置一个reload命令,但在执行第二个命令时,服务器似乎还没有完全启动。结果仍然是失败的,尽管如果我几秒钟后尝试,它仍然有效 /subsyst

我正在为JBoss EAP 6编写一个cli脚本(只是.bat文件中的一组命令)

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

例如:

  • 第一个命令:删除默认数据源
    ExampleDS
    。结果:成功,服务器处于“需要重新加载”状态
  • 第二个命令:删除h2驱动程序(默认数据源需要)。结果:失败,因为服务器尚未重新启动 我试图在这两者之间放置一个
    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
    
    另一个选项是,在配置服务器时,运行服务器以仅在管理员模式下启动服务器。在这种情况下,您应该需要使用
    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"