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

Transacted

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

Блок Transacted включает транзакционное поведение для последующих шагов потока. Если любой шаг внутри транзакции завершится ошибкой, все выполненные до этого момента изменения будут отменены (выполнен rollback). Обеспечивает целостность и согласованность данных при интеграции с базами данных (БД).

Важные условия для корректной работы:

  • Для блоков SQL/JDBC внутри Transacted должен быть отключен автоматический коммит (настраивается через соединение).
  • Запросы SQL не должны содержать оператор COMMIT.
  • При использовании разных соединений к СУБД, целевые базы данных должны поддерживать XA (двухфазный коммит). Кроме этого, для таких СУБД должны быть выполнены соответствующие настройки, например, для PostgreSQL значение параметра max_prepared_transactions должно быть больше нуля.
  • СУБД SQLite, ClickHouse, Teradata и Firebird не поддерживают двухфазный коммит (2PC). Их использование в одном Transacted‑блоке с СУБД, поддерживающими 2PC, может привести к ошибкам выполнения операций Commit и Rollback.
  • Вложенные потоки с блоками SQL/JDBC при необходимости транзакционности должны содержать собственный блок Transacted.

Ограничения:

  • Нельзя добавлять несколько Transacted‑блоков на одном уровне вложенности.
  • Нельзя размещать Transacted‑блоки внутри блоков‑контейнеров, таких как Loop, Choice и т.д.
  • Если ошибка возникает в потоке после контейнера Transacted, выполняется Rollback для всех предыдущих SQL- и JDBC-блоков, если для них выставлен Auto-Commit "false" и в запросе нет оператора COMMIT.
  • Операции Commit и Rollback, запущенные блоком Transacted родительского потока, выполняются только на уровне этого потока и не распространяются на его дочерние потоки.

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

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

  • контейнера для группы шагов.

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

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

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

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

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
DescriptiondescriptionКраткое описание блока.Строка
RefrefСсылка на bean в реестре.Строка

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

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