TrackingEventProcessors 中的 Axon EventHandlers 没有被调用

问题描述

几天前,一位客户提到我们找不到实体,尽管我们的系统返回了 202,这意味着请求已成功处理。 请求已成功处理,因为可以在 EventStore 中找到因请求而导致的命令引起的事件。

这个问题的奇怪之处在于所有跟踪处理器都没有在第一个请求引起的事件上被调用。 在随后的事件中,跟踪处理器抛出异常,因为在数据库中找不到实体。 因此,第一个命令的事件的事件处理程序没有被调用,但对于后续命令,事件被调用

由于没有调用跟踪处理器,第一个命令中的事件可能出现什么问题?

我们的设置正在运行连接到 1 个 Postgresql 数据库的 2 个轴突实例。 处理器由 JPA 和 JDBC 存储库提供支持

下面是 EventStore 中事件的简化快照:

global_index payload_type 时间戳 aggregate_id sequence_number 我的结论
8219359 Aggregate1CreatedEventDuetoRequest1 2021-02-08T16:25:33.763048105Z 1 0
8235842 Aggregate2CreatedEventDuetoRequest0 2021-02-08T17:12:28.036313918Z 2 0 未由 TP 处理
8235843 Aggregate2Event2DuetoRequest1 2021-02-08T17:12:28.036338611Z 2 1 不由 TP 处理,而是由订阅处理器处理
8235844 Aggregate2Event3DuetoRequest1 2021-02-08T17:12:28.03635331Z 2 2 未由 TP 处理
8235845 Aggregate2Event4DuetoRequest1 2021-02-08T17:12:28.036372834Z 2 3 未由 TP 处理
8235847 Aggregate1Event2DuetoAggregate2Event2DuetoRequest1 2021-02-08T17:12:28.045952574Z 1 1
8235848 Aggregate1Event3DuetoAggregate2Event2DuetoRequest1 2021-02-08T17:12:28.04599099Z 1 2
8235849 Aggregate1Event4DuetoAggregate2Event2DuetoRequest1 2021-02-08T17:12:28.04608497Z 1 3
8235850 Aggregate2Event5DuetoRequest2 2021-02-08T17:12:28.058377074Z 2 4 由 TP 处理,但未处理作为先前事件的异常

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)