我最近一直在尝试轴突,并阅读了很多东西。根据我的理解,事件源的概念表示系统状态是从事件存储重建的,而CQRS更新了一个可以查询的视图模型,命令端侧是不可查询的。
每次UI请求某些信息时,我都希望自己实现状态的重建。我已经实现了事件处理器并看到了它的重放功能。但是,我似乎无法找到任何证据表明轴突允许在用户需求时触发重放。因此,我在这里询问是否有可能亲自触发重放来构建UI或轴突所需的DAO,只支持CQRS的方式。
当axon进行重放时(删除令牌时),它是从快照表中读取(如果已实现),然后是从事件表读取还是始终从时间开始?
答案 0 :(得分:2)
如果您希望重建查询端,目前可以手动删除令牌。
因此,如果您想触发重播,则必须添加一个为您执行此操作的组件。
这可能也是一个棘手的过程,因为您可能不希望任何其他方试图在重建时访问您的视图。
请注意,为此您需要将事件处理组件放在TrackingEventProcessor
中,否则它将无法以TrackingToken
的形式记录它处理的事件数量。
快照表适用于聚合,以简化加载过程。当您设置axon以使用(Caching)EventSourcingRepository
时,它将首先基于快照加载聚合,然后获取剩余事件。
所以,回答你的第二个问题:当你丢弃令牌时,它会从一开始就从域事件输入表中读取。
希望这有帮助!