在axon 3.x中进行显式重放

时间:2017-07-04 15:14:20

标签: axon

我最近一直在尝试轴突,并阅读了很多东西。根据我的理解,事件源的概念表示系统状态是从事件存储重建的,而CQRS更新了一个可以查询的视图模型,命令端侧是不可查询的。

  1. 每次UI请求某些信息时,我都希望自己实现状态的重建。我已经实现了事件处理器并看到了它的重放功能。但是,我似乎无法找到任何证据表明轴突允许在用户需求时触发重放。因此,我在这里询问是否有可能亲自触发重放来构建UI或轴突所需的DAO,只支持CQRS的方式。

  2. 当axon进行重放时(删除令牌时),它是从快照表中读取(如果已实现),然后是从事件表读取还是始终从时间开始?

1 个答案:

答案 0 :(得分:2)

  1. 如果您希望重建查询端,目前可以手动删除令牌。 因此,如果您想触发重播,则必须添加一个为您执行此操作的组件。 这可能也是一个棘手的过程,因为您可能不希望任何其他方试图在重建时访问您的视图。 请注意,为此您需要将事件处理组件放在TrackingEventProcessor中,否则它将无法以TrackingToken的形式记录它处理的事件数量。

  2. 快照表适用于聚合,以简化加载过程。当您设置axon以使用(Caching)EventSourcingRepository时,它将首先基于快照加载聚合,然后获取剩余事件。 所以,回答你的第二个问题:当你丢弃令牌时,它会从一开始就从域事件输入表中读取。

  3. 希望这有帮助!