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

JSLT

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

Блок JSLT нужен для трансформации JSON‑payload в рамках потока с использованием языка JSLT. Позволяет преобразовывать структуру JSON‑сообщений, фильтровать данные, добавлять или удалять поля, выполнять вычисления и условную логику на основе правил, заданных в JSLT‑скрипте.

Механизм работает следующим образом: блок получает JSON‑payload из предыдущего шага потока, применяет к нему JSLT‑скрипт (задаваемый через атрибут jsltProcessor), выполняет преобразования (выборка, фильтрация, вычисления) и передает преобразованный JSON следующему блоку потока.

Блок JSLT может использоваться в качестве:

  • блока-обработчика.

Блок-обработчик предназначен для управления, проверки и преобразования данных, которые используются в контексте потока.

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

В данном разделе описаны параметры блока JSLT, которые необходимо заполнить при его настройке.

Базовые параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Загрузить схему или темплейтВ данном поле вы можете выбрать или загрузить схему или шаблон, выбрав его из списка загруженных файлов или в файловом навигаторе.Файл
DescriptiondescriptionКраткое описание блока.Строка
Allow Context Map AllallowContextMapAllОпределяет, должна ли карта контекста предоставлять доступ ко всем деталям. По умолчанию доступны только текст сообщения и заголовки.FalseЛогическое значение
Allow Template From HeaderallowTemplateFromHeaderОпределяет, разрешать ли использовать шаблон ресурса из заголовка или нет (по умолчанию false). Включение этого параметра позволяет указывать динамические шаблоны через заголовок сообщения. Однако это может рассматриваться как потенциальная уязвимость системы безопасности, если заголовок исходит от злоумышленника, поэтому используйте его с осторожностью.FalseЛогическое значение
Content CachecontentCacheОпределяет, следует ли использовать кэш содержимого ресурса или нет.FalseЛогическое значение
Map Big Decimal As FloatsmapBigDecimalAsFloatsОпределяет способ сериализации чисел типа BigDecimal при преобразовании данных (например, из XML в JSON). Если установлено значение True, маппер активирует флаг USE_BIG_DECIMAL_FOR_FLOATS в настройках сериализации. Это гарантирует, что значения BigDecimal будут корректно обрабатываться как числа с плавающей точкой без потери точности. Параметр актуален преимущественно для producer‑части компонента (на этапе вывода/передачи данных).
Возможные значения:
  • True: значения BigDecimal сериализуются с сохранением точности (предпочтительно для финансовых и расчетных данных);
  • False: значения могут быть преобразованы в стандартные float/double с возможной потерей точности.
FalseЛогическое значение
Object MapperobjectMapperИспользуемый класс object mapper библиотеки Jackson.Строка
Pretty PrintprettyPrintОпределяет, будет ли JSON в выходном сообщении отформатирован с отступами и переносами строк в человекочитаемом виде (pretty‑printed). Если установлено значение True, JSON‑вывод будет структурирован: с отступами, переносами строк и пробелами между элементами. Если False, JSON выдается в компактной однострочной форме (без лишних пробелов и переносов).
Возможные значения:
  • True: читаемый формат, удобный для отладки и ручного анализа;
  • False: компактный формат, оптимальный для передачи по сети (меньше размер сообщения).
FalseЛогическое значение

Расширенные параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Lazy Start ProducerlazyStartProducerОпределяет, должен ли отправитель стартовать в отложенном режиме (при получении первого сообщения). Отложенный запуск можно использовать в ситуациях, когда запуск отправителя может завершиться неудачей и привести к сбою при запуске потока.
Если отложить запуск, то сбой при запуске можно будет обработать во время потокизации сообщений с помощью обработчиков ошибок потокизации.
Обратите внимание, что при обработке первого сообщения создание и старт отправителя могут занять некоторое время и увеличить общее время обработки.
FalseЛогическое значение
DisableddisabledОпределяет, будет ли блок отключен в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение