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

Например, я хотел бы определить поток в Spring-XD как «source1 | сток1», а модуль «источник1» имеет опцию: «опция1».

Что мне нравится делать, так это настраивать «source1» так, чтобы он имел несколько экземпляров (это выполнимо в Spring-XD), и в то же время мне нравится, чтобы каждый экземпляр «source1» имел разные значения для «option1».

Возможно ли это с доступным в настоящее время дизайном DSL в Spring-xd?


person t.s.tao    schedule 11.12.2014    source источник


Ответы (1)


В настоящее время вы не можете этого сделать, но вы можете использовать название каналов...

stream create --name foo --definition "source1 --option=x > queue:xx"
stream create --name bar --definition "source1 --option=y > queue:xx"
stream create --name baz --definition "queue:xx > sink1"
person Gary Russell    schedule 11.12.2014
comment
Спасибо за ответ, Гэри. Подход с «именованным каналом» определенно работает! Кстати, как вы думаете, будет ли хорошо, если Spring XD будет поддерживать разнородные значения параметров для экземпляров модулей без введения именованных каналов? - person t.s.tao; 12.12.2014
comment
Если вы откроете проблему новой функции JIRA, команда рассмотрит ее. Лично я думаю, что определение потока будет довольно сложным; это также потребует некоторой связи определения потока (где установлены параметры) и манифеста развертывания (где установлены счетчики модулей), поэтому это может быть сложно. Кстати, физической разницы между именованными и анонимными каналами нет; именованные каналы были реализованы для таких случаев использования; у них нет дополнительных накладных расходов во время выполнения. - person Gary Russell; 12.12.2014
comment
Рад слышать, что именованный канал не требует дополнительных затрат времени выполнения, чем анонимный канал. Подхода с именованным каналом может быть достаточно для моего случая, спасибо за ваше мнение о возможном недостатке в дополнительной связи и осложнениях, связанных с расширением определения потока для поддержки этой функции. - person t.s.tao; 15.12.2014