Сценарий запуска WildFly CLI для встроенного сервера - PullRequest
0 голосов
/ 29 марта 2019

У меня есть несколько скриптов, которые я запускаю, используя jboss-cli -c --controller=... --file=myscript.cli.Опции -c и --controller великолепны, потому что мой скрипт не знает, с каким сервером он должен работать, и его можно использовать повторно для нескольких серверов.

Теперь я хочу использовать offline-Функция cli , позволяющая избежать конфликтов портов и предотвратить доступ к серверам через сеть во время их настройки.Теперь моя проблема заключается в том, что для запуска встроенного сервера мне нужно использовать команду CLI embed-server, но я не хочу добавлять эту команду в свои сценарии, поскольку сценарии не должны знать имяXML-файл конфигурации сервера.

К сожалению, я не могу одновременно использовать --command="embed-server --server-config=my-standalone.xml" и --file=myscript.cli, потому что CLI жалуется на:

Only one of '--file', '--commands' or '--command' can appear as the argument at a time.

Еще одна вещь, которую я попробовал, была: --commands="embed-server --server-config=my-standalone.xml,run-batch --file=\"myscript.cli\" но это тоже не работает, потому что мои скрипты содержат некоторую логику if-else, например:

if (outcome == success) of /subsystem=iiop-openjdk:read-resource()
  /subsystem=iiop-openjdk:remove()
end-if

И, к сожалению, условная логика не поддерживается в пакетном режиме (см. https://bugzilla.redhat.com/show_bug.cgi?id=1083176).

Ответы [ 2 ]

1 голос
/ 03 апреля 2019

Если вы используете систему Unix, вы можете попробовать что-то вроде этого:

(echo embed-server --std-out=echo  --server-config=my-standalone.xml; cat myscript.cli) | jboss-cli.sh 
0 голосов
/ 29 марта 2019

простой способ запустить встроенный сервер в вашем скрипте:

embed-server --std-out=echo  --server-config=standalone-full.xml
/subsystem=messaging-activemq/server=default/jms-queue=inQueue:add(durable=true, entries=["/queue/inQueue","java:jboss/exported/queue/inQueue"])
/subsystem=messaging-activemq/server=default/jms-queue=outQueue:add(durable=true, entries=["/queue/outQueue","java:jboss/exported/queue/outQueue"])
quit

Не забудьте выйти в конце скрипта cli:)

...