2016-07-13 11 views
3

Я работаю над скриптом cli для JBoss EAP 6 (просто куча команд в файле .bat).Jboss EAP 6 CLI Script с командами, которые требуют перезагрузки

Теперь у меня возникают проблемы с командами, которые полагаются друг на друга, где первый устанавливает сервер в состояние «перезагрузки».

Например:

  1. первая команда: удалить по умолчанию-источник данных ExampleDS. Результат: успех, сервер в состоянии «перезагрузить»
  2. Вторая команда: удалить h2-драйвер (требуется по умолчанию для источника данных). Результат: не удалось, так как сервер еще не был перезапущен.

Я попытался поместить команду reload между ними, но кажется, что сервер не полностью работает, когда выполняется вторая команда. Результат все еще провалился, хотя, если я попробую его через несколько секунд, он будет работать.

/subsystem=datasources/data-source=ExampleDS:remove 
reload 
/subsystem=datasources/jdbc-driver=h2:remove 

Любые предложения о том, как заставить CLI ждать, пока JBoss полностью не вернется?

ответ

2

Попробуйте выполнить эти команды вместе и выполнить перезагрузку после запуска партии. Например:

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"