gpt4 book ai didi

axon - 使用 Axon 进行 CQRS 和事件溯源。在事件存储中找不到聚合

转载 作者:行者123 更新时间:2023-12-02 02:40:13 29 4
gpt4 key购买 nike

我是 Axon 的新手,并编写了一个示例代码,其中我们有一个库存服务,用于添加新库存、更新库存,并且我们希望将事件发送到产品服务以进行任何更新。产品服务应充当库存服务的只读副本。

库存服务代码:

所以我创建了各种命令处理程序的 Inventory Aggregate。
enter image description here

负责发送命令的库存 Controller

enter image description here

在产品服务中,我添加了事件处理程序

enter image description here

我目前面临的问题是,当我添加新库存时,它会反射(reflect)在产品服务数据库中,但是当我尝试进行更新时,它给了我一个异常(exception):
命令 'com.example.demo.command.UpdateInventoryCommand' 导致 org.axonframework.commandhandling.CommandExecutionException(在事件存储中找不到聚合)
org.axonframework.axonserver.connector.command.AxonServerRemoteCommandHandlingException:远程消息处理组件抛出异常:在事件存储中找不到聚合


当我尝试在库存中再插入一个时,库存服务抛出异常说:

:“OUT_OF_RANGE:[AXONIQ-2000] 聚合 0 的无效序列号 0,预期为 1”,远程消息处理组件抛出异常:OUT_OF_RANGE:[AXONIQ-2000] 聚合 0 的无效序列号 0,预期为 1 导致通过 OUT_OF_RANGE:[AXONIQ-2000] 聚合 0 的无效序列号 0,预期为 1

任何帮助将非常感激。
完整代码可在:

https://github.com/jahanvibansal/Axon-ProductService

https://github.com/jahanvibansal/Axon-InventoryOrderService

最佳答案

.我意识到我们需要在使其工作的 spring 启动应用程序中指定 axon.eventhandling.processors.name.mode=tracking 属性。我知道有 2 种模式跟踪和发布订阅。我会阅读更多关于它的信息。

关于axon - 使用 Axon 进行 CQRS 和事件溯源。在事件存储中找不到聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60025668/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com