- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在使用 Axon 4 的 CQRS 和事件溯源。
我们有以下场景。
域书
此时我们正在通过processingGroup重放事件,这工作正常,现在我们想要对事件进行更复杂的重放
问题
我们如何创建仅重播具有某些“aggregateIdentifier”id(一个聚合树)的事件的resetTokens,这意味着我们只想重播与某本书(聚合树)而不是所有书籍相关的事件?
Axon 4 支持此功能吗?
最佳答案
如果您愿意,您可以使用 Axon 创建此功能,但它需要一些使用 Axon 框架细节的自定义代码。
首先,这不是重播,因为重播是从事件处理器级别描述的。重放事件处理器将根据给定的 token 从某个时间点开始读取整个事件流。
您想要的是重播并过滤给定的聚合标识符。
根据您评论中的描述,这感觉就像用户/服务对您的应用程序进行的零星查询。
处理此查询后,您需要打开事件流,过滤事件,然后使用剩余的流来更新所需的查询模型。
从实现的角度来看,我会使用 AnnotationEventHandlerAdapter
。这个类应该被赋予 annotated event listener
,这应该是您想要临时创建并返回的查询模型。
随后,AnnotationEventHandlerAdapter#handle(EventMessage<?>)
应该使用过滤后的事件流调用方法。一旦到达流的末尾,您的查询模型就会是最新的。
那么,回到你的问题:
Is this functionality supported by the Axon 4 ?
答案是肯定的,但这需要您做一些方便的工作。
关于java - 使用 Axon 4 与某些 "aggregateIdentifier"相关的 Axon Replay TrackingEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59199109/
我目前正在 Axon 中使用 SubscribingEvent 处理器。使用此功能,所有内容都在单线程中执行(因为我想在单线程中执行命令并将事件应用于投影),确保所有内容都保留到数据库或回滚。 如果我
我们正在使用 Axon 4 的 CQRS 和事件溯源。 我们有以下场景。 域书 操作 - 使用 Axon CRQS 和事件源流(命令 - 聚合 - 事件)在数据库中创建新书籍 操作 - 使用 Axon
我是一名优秀的程序员,十分优秀!