Axon Config - Kafka 在@eventhandlers 抛出异常后重试策略

Axon Config - Kafka retry policies after @eventhandlers thrown exception

我已经开始在我的项目中使用 Axon 4.3.1(最新版本)并且遇到了问题。

kafka在@eventhandler抛出异常后的重试策略在哪里设置?

OBS:我正在使用 SubscribingEventProcessor 类型作为事件处理器(两个项目)。我正在使用单独的项目!命令模型使用 mongo 并在 Kafka 上发布事件。查询模型使用来自 Kafka(事件总线)的事件。这样,使用单独的JVM。

@processinggroup(event-processor) 使用事件处理程序方法配置为 class。我想在错误情况下(来自查询模型项目)一段时间后对 Kafka 自动重试进行配置。

我可以使用一些默认的 Axon 组件吗?我可以使用 spring-retry 或内部 kafka 配置本身吗?

我找到了类似的东西(文档):

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

"Based on the provided ErrorContext object, you can decide to ignore the error, schedule retries, perform dead-letter-queue delivery or rethrow the exception."

发生错误后如何在@eventhandler 上配置(例如,安排重试)?

你能帮帮我吗?

谢谢。

Axon 的 Kafka 扩展(版本 4.0-M2)的当前实现不支持在事件处理方面设置重试策略。

我认为你现在最好的方法是在 Kafka 上设置类似的东西,如果可能的话。否则,通过 Kafka 强制重播事件将是您最好的方法。