Как заставить Spring XD развернуть предопределенный набор потоков и кранов при запуске

Есть ли способ запустить набор паров и кранов, которые были определены при запуске нового экземпляра spring xd?

Сценарий таков: мы сделали несколько прототипов в наших системах разработки, но теперь, когда мы хотели бы собрать и выпустить это для команды тестирования. Мы хотели бы автоматизировать большую часть фоновой работы, и пользователю нужно просто беспокоиться о выводе из потоков и не беспокоиться о потоках, их определениях или их развертывании.

Чтобы облегчить это, есть ли какие-либо конфигурации времени выполнения, которые мы можем использовать?

ОБНОВЛЕНИЕ. Наш текущий подход включает в себя написание сценария оболочки, чтобы сделать несколько остаточных вызовов API Spring для создания и развертывания необходимых потоков.


person Arun Jose    schedule 18.07.2014    source источник


Ответы (1)


Оболочка ведет журнал пользовательских команд:

spring-shell.log

Вы можете отредактировать его после создания потока (ов) (или создать файл с командами оболочки), а затем использовать команду сценария:

xd:>script foo.xd

or

$ bin/xd-shell < foo.xd

(суффикс .xd не требуется, имя файла может быть любым).

ИЗМЕНИТЬ (комментарий ниже)...

Это происходит с оговоркой, что bin/xd-shell < foo.xd будет запускать все команды независимо от успеха или неудачи, а xd-shell --cmdfile foo.xd немедленно прекратит выполнение с кодом выхода в случае сбоя команды.

person Gary Russell    schedule 18.07.2014
comment
Еще раз спасибо Гэри. Эта деталь случайно не была в документации? Я огляделся, но ничего не увидел. - person Arun Jose; 18.07.2014
comment
Я не уверен, упоминается ли это явно в документах XD, но оболочка XD основана на Spring Shell и там это упоминается. Также вы можете ввести help, чтобы получить список всех команд. - person Gary Russell; 18.07.2014
comment
вы также можете использовать $ xd-shell --cmdfile foo.xd - person Mark Pollack; 18.07.2014
comment
В документах есть некоторая информация для будущий судья - person Mark Pollack; 18.07.2014
comment
В распределенном режиме означает ли это, что я пытаюсь $ xd-container --cmdfile foo.xd - person Arun Jose; 18.07.2014
comment
Нет; командный файл не передается в контейнер, он передается в оболочку (которая использует ReST для связи с узлом администратора). Затем узел администратора выбирает, в каком контейнере его развернуть. - person Gary Russell; 18.07.2014
comment
Я использовал информацию гораздо больше, чем помощь. Я думаю, это именно то, что доктор прописал! - person Arun Jose; 19.07.2014
comment
Это происходит с оговоркой, что bin/xd-shell < foo.xd будет запускать все команды независимо от успеха или неудачи, а xd-shell --cmdfile foo.xd немедленно прекратит выполнение с кодом выхода в случае сбоя команды. - person Brandon McKenzie; 28.04.2015