【发布时间】:2019-11-12 14:23:16
【问题描述】:
我正在尝试实现一种跳过事件的方法,由于遗留数据的不可预见问题,该方法将无休止地重播。当前,失败的事件会阻塞该段,从而停止该段中正在处理的其他事件。我不想删除任何事件,因为我们正试图保持事件存储的不可变性质。
我们正在使用 Axon 3.4,并希望避免升级它。我已经研究了可能的解决方案,并考虑在跟踪事件处理器上使用重置方法来指定它们从下一个事件的跟踪令牌开始处理(允许我们调查故障并在解决时从头开始重播)但是找不到任何方法来确定下一个跟踪令牌是什么。有没有办法在 Axon 中建立这一点,或者可能通过查询我们存储事件的 Postgres 数据库?
【问题讨论】:
-
为什么要避免迁移到更新的版本?该系统是否已经被视为“遗留”,因此无法进行新的开发?
-
@Steven 我们试图尽量减少代码更改,但似乎没有办法在没有大量新代码的情况下做到这一点
-
Axon 4 主要做了很多导入调整,它替换了构建器模式的构造函数。如果您使用 Axon Spring Boot Starter 而没有自己进行太多配置,那么您应该可以避免大量代码更改。最后,要了解 Axon 3 和 4 之间的 API 更改,请查看此文件:github.com/AxonFramework/AxonFramework/blob/master/…
标签: event-handling cqrs axon