0

В настоящее время я использую Spring Tool Suite (STS) (версия: 3.6.3.CI-B2266066, код сборки: 201411050946, платформа: Eclipse Luna SR1 (4.4.1)) с интеграцией с весной 4.1.0.Разрешить пользователям возможность «отключить» компонент в Spring-интеграцию графика-графика в Eclipse

У меня есть XML-файл конфигурации Spring, который включает пространство имен Spring Integration. В идеале я хотел бы иметь возможность легко скомпоновать множество компонентов.
Другие редакторы ETL-типа имеют схожую функциональность, где вы можете «отключить» что-то в отличие от необходимости комментировать что-то в коде или в файле конфигурации.

С точки зрения того, как я предполагал, что работаю, я возвращаюсь назад и вперед.
- Вариант А может быть, когда пользователь выбирает кучу значков, которые они могли бы щелкнуть правой кнопкой мыши и сказать auto-start=false.
- Вариант B должен состоять в том, чтобы компоненты интеграции пружины разрешали новое состояние, называемое disabled. Это состояние отличается от состояния автозапуска тем, что отключенный компонент не только никогда не будет auto-start, но он также будет обходить в любых потоках, в которых он участвовал.

Зачем нужна опция B? Предположим, что у вас есть следующий поток: jms adapter -> transformerX -> transformerY -> output adapter Если бы я мог отключить transformerY тогда люди могли легко в основном «обойти» этот шаг, в-сути делает вид потока, как это: jms adapter -> transformerX -> output adapter

В любом случае, disabling или auto-start=false компоненты может отображаться как скрытый на вкладке интеграции-графика.

Я уверен, что это не тривиальный вопрос, но, как я уже говорил, другие инструменты делают это, и это очень полезно.

ответ

0

Хотя ни один из следующего адреса IDE рендеринга, есть несколько существующих способы реализации ваших требований:

Используйте профили для замены компоненты с <bridge/> ...

<beans profile="on"> 
    <int:transformer input-channel="foo" output-channel="bar" /> 
</bean> 

<beans profile="off"> 
    <int:bridge input-channel="foo" output-channel="bar" /> 
</bean> 

Или используйте routing slip, чтобы определить компоненты, которые будет посещать сообщение.

Вариант B займет довольно много работы, и я не уверен, что включение/выключение компонентов в середине потока имеет большую применимость. Если вы можете придумать конкретные варианты использования, которые могут иметь широкое применение, не стесняйтесь открывать new feature JIRA issue against INT.

Я не знаю, насколько практичен вариант A, но вы можете попросить парней STS через new feature request JIRA issue against IDE.

+0

Я пересматривал кучу рабочих процессов, которые моя команда написала в другом инструменте ETL, и не может найти достойный вариант использования для совместного использования как хороший пример компонента «отключить», который также нельзя было бы покрыть существующий «автозапуск = ложь». Для варианта A я открыл эту JIRA: https://jira.spring.io/browse/IDE-1362 –

+0

Спасибо, что подняли этот запрос расширения, мы посмотрим. Благодаря!!! –