Перейти к основному содержимому
Начало работы
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя

Choice

Общее описание

Логический блок Choice обрабатывает входное сообщение по условию, заданному пользователем при размещении блока в редакторе потока. Алгоритм работы блока Choice соответствует логическим блокам If-Else и Switch классического программирования.

При выполнении условия, заданного для ветки (веток) маршрута When, сообщение направляется на дальнейшую обработку по соответствующей ветке. Для обработки случаев, когда ни одно из условий When не выполняется, предусмотрена ветка Otherwise.

Пустая ветка When добавляется автоматически при добавлении логического блока Choice. Вы можете добавить еще несколько веток When, нажав на кнопку «+» справа от блока Choice.

Пустая ветка Otherwise добавляется автоматически при добавлении логического блока Choice. Ветка Otherwise может быть только одна.

Удаление блока Choice и его веток производится по следующим правилам:

  • При удалении блока Choice удаляются все ветки и блоки, расположенные внутри его области действия;

  • При удалении блока When или Otherwise из блока Choice, удаляются все блоки, размещенные в этой ветке;

  • При удалении последней ветки When в блок Choice добавляется новая пустая ветка When;

  • При удалении ветки Otherwise в блок Choice добавляется новая пустая ветка Otherwise.

Настройка блока Choice

В данном разделе описаны параметры блока Choice и блоков When и Otherwise, которые необходимо заполнить при настройке и примеры заполнения значений этих параметров.

Параметры блока Choice

Название в UIНазваниеОбязательныйОписаниеЗначение по умолчаниюТип данных
DisableddisabledНетОпределяет будет ли блок отключен в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение
PreconditionpreconditionНет

Указывает, задана ли для блока Choice предобработка.

В режиме предобработки логический блок Choice является оптимизированным контекстно-зависимым роутером. Блок выбирает при запуске одну из веток (When/Otherwise) и всегда выполняет маршрутизацию по этой ветке. Это позволяет избежать проверки для каждого сообщения, поскольку они всегда будут направляться по одной и той же ветке.

Поскольку в режиме предобработки блок Choice проверяет условия во время запуска, эти условия не могут основываться на содержимом сообщения. Они могут основываться на свойствах конфигурации, переменных окружения, системных свойствах JVM.

FalseЛогическое значение

Параметры блока When

Название в UIНазваниеОписаниеЗначение по умолчаниюТип данных
LanguagelanguageДа

Выбор языка, на котором написано условие.

Возможные значения:

  • groovy

  • js

  • java

  • constant

  • simple

  • xpath

groovyСписок
ExpressionexpressionДаУсловиеВыражение
Result TyperesultTypeНетФормат результата вычисления условия.Строка
DisableddisabledНетОпределяет будет ли блок отключен в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение
TrimtrimНетЗадает нужно ли отсекать перенос строки и пробелы в начале и конце значения.TrueЛогическое значение

Параметры блока Otherwise

НазваниеОбязательныйОписаниеЗначение по умолчаниюТип данных
DisabledОпределяет будет ли блок отключен в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение