Idempotent consumer
Общее описание
Блок Idempotent Consumer используется для фильтрации дублирующихся сообщений. Идентификатор сообщения добавляется в хранилище для того, чтобы обнаружить дубликаты в запущенных процессах обмена сообщениями. Если обмен сообщениями закончился ошибкой, идентификатор сообщения будет удален из хранилища. При успешном завершении обмена сообщениями идентификатор остается в хранилище.
Блок Idempotent consumer может использоваться в качестве:
- блока-обработчика.
Блок-обработчик предназначен для управления, проверки и преобразования данных, которые используются в контексте потока.
Настройка блока
В данном разделе описаны параметры блока Idempotent Consumer, которые необходимо заполнить при его настройке.
Базовые параметры
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Language | language | Обязательный параметр Выбор языка, на котором будет написано выражение для сопоставления сообщений и определения дубликатов. Возможные значения:
| groovy | Список |
| Expression | expression | Обязательный параметр Выражение для вычисления корреляционного ключа, который будет использоваться для проверки на дублирование. Техническое сообщение с таким же корреляционным ключом считается дублирующим и будет отклонено. | Выражение | |
| Result Type | resultType | Формат вывода результатов выражения. | Строка | |
| Idempotent Repository | idempotentRepository | Обязательный параметр Имя идемпотентного хранилища идентификаторов сообщений. Возможные значения:
| Список | |
| Trim | trim | Определяет, нужно ли отсекать пробелы и символы переноса строки в начале и в конце значения. | True | Логическое значение |
| Description | description | Краткое описание блока. | Строка |
Расширенные параметры
| Название | Название | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Disabled | disabled | Определяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться. | False | Логическое значение |
| Eager | eager | Определяет, следует ли сразу при обнаружении дубликата добавлять ключ в идемпотентный репозиторий или подождать завершения процесса. | True | Логическое значение |
| Skip Duplicate | skipDuplicate | Определяет, следует ли пропускать дубликаты или нет. По умолчанию дубликаты будут пропущены. | True | Логическое значение |
| Completion Eager | completionEager | Определяет, следует ли завершать работу блока сразу после обнаружения дубля или по завершении обмена сообщениями.
| False | Логическое значение |
| Remove On Failure | removeOnFailure | Определяет, следует ли удалять или сохранять ключ в случае ошибки. | True | Логическое значение |