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

Idempotent consumer

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

Блок Idempotent Consumer используется для фильтрации дублирующихся сообщений. Идентификатор сообщения добавляется в хранилище для того, чтобы обнаружить дубликаты в запущенных процессах обмена сообщениями. Если обмен сообщениями закончился ошибкой, идентификатор сообщения будет удален из хранилища. При успешном завершении обмена сообщениями идентификатор остается в хранилище.

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

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

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

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

Обязательный параметр

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

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

  • groovy

  • js

  • java

  • constant

  • simple

  • xpath

groovyСписок
Expressionexpression

Обязательный параметр

Выражение для вычисления корреляционного ключа, который будет использоваться для проверки на дублирование. Техническое сообщение, имеющее такой же корреляционный ключ, рассматривается как дублирующее и будет отклонено.

Выражение
Result TyperesultTypeФормат результата вычисления условия.Строка
Idempotent RepositoryidempotentRepositoryИмя идемпотентного хранилища идентификаторов сообщений. Доступные значения выбираются из списка зарегистрированных в системе хранилищ.Список
TrimtrimЗадает нужно ли отсекать перенос строки и пробелы в начале и конце значения.TrueЛогическое значение
DescriptiondescriptionКраткое описание блока.Строка

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

НазваниеНазваниеОписаниеЗначение по умолчаниюТип данных
DisableddisabledОпределяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение
EagereagerОпределяет, следует ли сразу при обнаружении дубликата добавлять ключ в идемпотентный репозиторий или подождать завершения процесса.TrueЛогическое значение
Skip DuplicateskipDuplicateОпределяет, следует ли пропускать дубликаты или нет. По умолчанию дубликаты будут пропущены.TrueЛогическое значение
Completion EagercompletionEager

Определяет, следует ли завершать работу блока сразу после обнаружения дубля или по завершении обмена сообщениями.

Если этот параметр имеет значение True, то блок инициирует завершение процесса, когда достигнут конец блока. Таким образом, если обмен будет продолжен с маршрутизацией после завершения блока, то, что бы там ни происходило, это не повлияет на состояние. Если этот параметр имеет значение False (по умолчанию), то есть не завершается автоматически, то блок завершит работу, когда процесс будет завершен с маршрутизацией. Таким образом, если обмен будет продолжен после завершения блока, то все, что там произойдет, также повлияет на состояние. Например, если обмен завершился неудачно из-за исключения, то блок откатит изменения.

FalseЛогическое значение
Remove On FailureremoveOnFailureОпределяет, следует ли удалять или сохранять ключ в случае ошибки.TrueЛогическое значение