Axon Config - политики повторов Kafka после того, как @eventhandlers сгенерировали исключение

Я начал использовать Axon 4.3.1 (последнюю версию) в своем проекте, и у меня возникла проблема.

Где я могу настроить политики повтора kafka после того, как @eventhandler выдает исключение?

OBS: я использую тип SubscribingEventProcessor в качестве обработчика событий (оба проекта). Использую отдельные проекты! Командная модель использует монго и публикует события на Kafka. Модель запроса потребляет события из Kafka (eventbus). Таким образом, используя отдельные JVM.

@processinggroup (обработчик событий) настроен на класс с методом обработчика событий. Я хотел бы иметь конфигурацию для автоматического повтора Kafka через некоторое время в случаях ошибок (из проекта модели запроса).

Могу ли я использовать какой-нибудь компонент Axon по умолчанию? Могу ли я использовать что-то вроде spring-retry или внутреннюю конфигурацию kafka?

Я нашел что-то подобное (документация):

https://docs.axoniq.io/reference-guide/configuring-infrastructure-components/event-processing/event-processors#error-handling.

«На основе предоставленного объекта ErrorContext вы можете решить игнорировать ошибку, запланировать повторные попытки, выполнить доставку в очередь недоставленных сообщений или повторно вызвать исключение».

Как настроить @eventhandler (например, запланировать повторные попытки) после ошибок?

Не могли бы вы помочь мне?

Спасибо.


person Marcelo M. Gonçalves    schedule 09.04.2020    source источник


Ответы (1)


Текущая реализация Axon Kafka Extension (версия 4.0-M2) не поддерживает установку политики повтора при обработке событий.

Я бы сказал, что ваш лучший подход прямо сейчас - настроить что-то подобное на Kafka, если это вообще возможно. В противном случае принудительное воспроизведение событий через Kafka было бы вашим лучшим подходом.

person Steven    schedule 10.04.2020
comment
Спасибо за ответ, Стивен. - person Marcelo M. Gonçalves; 10.04.2020
comment
Конечно, Марсело, рад помочь. Напоминаем, что если это поможет вам, отметьте ответ как решение для других читателей. - person Steven; 11.04.2020