问题标签 [axon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Axon 消息接收但事件处理程序未调用
Axon 消息接收但未调用事件处理程序。
我正在尝试使用两个不同的队列在两侧实现事件源。我的第一个队列是测试,第二个是测试演示
我有两个单独的应用程序在同一台服务器上运行。
- 用户管理
- 钱包管理
我已经实现了从用户管理到钱包管理的事件溯源。它工作正常。
现在我正在尝试对 UserManagement 实施钱包管理,这意味着当我将从钱包管理 (Producer) 和 (Consume) 用户管理应用程序发布事件时。因此接收到事件但未调用事件处理程序。
以下是我的应用程序代码。请帮我弄清楚我会错过什么。
我的 Axon 配置类
WalletCreatedEvent 类
事件处理程序类
以下是我的 application.yml 文件属性
以下是我收到显示事件的日志数据。
java - 从不在 Axon 中工作的事件处理程序发布新事件
我有两个单独的应用程序在同一台服务器上运行。
- 用户管理
- 钱包管理
我已经实现了从用户管理到钱包管理的事件溯源。它工作正常。
但是,当我从钱包管理应用程序中存在的事件处理程序发布新事件时,我将收到以下错误消息日志。
这是我的日志详细信息
事件处理程序类
聚合类
命令类
事件类
谢谢
cqrs - 删除聚合后处理异常的正确方法
使用方法 markDeleted() 删除聚合后,使用相同聚合标识符处理请求的正确方法是什么?
markDeleted() 方法将标记和聚合标记为已删除,然后当使用相同的聚合标识符尝试创建事件时,将引发异常。
这只是尝试/捕获的情况吗?
如果我需要更清楚,请告诉我。
提前致谢,
PS)嗨阿拉德!:)
event-sourcing - 来自 AxonDB 事件存储的事件未到达我的 TrackingEventProcessor
我目前正在尝试从 AxonDB 事件存储中读取所有事件并将它们导出到 CSV 文件。选择的方法是在附加到 AxonDB 服务器的 Spring Boot 应用程序中创建一个 EventHandler。将 TrackingEventProcessor 与 InMemoryTokenStore(默认)一起使用,我希望每次启动这个小应用程序时都从事件存储中读取所有事件。
不幸的是,我没有在我的 TrackingEventProcessor 中收到来自 AxonDB 客户端的事件,这让我困惑了几个小时。我走进了野兽的肚子,看到了以下行为,我想讨论一下:
- 首先,我使用的是原始应用程序(填充事件存储)也使用的所有相同版本:
- 轴突数据库 1.3
- axonDB 客户端 1.3
- 轴突框架 3.2.1
- 应用通过 gRPC 成功连接到 AxonDB
- AxonDBEventStore 读取一堆事件
2018-08-16 13:56:49.337 DEBUG 27781 --- [ault-executor-0] i.a.axondb.client.axon.AxonDBEventStore : Received event with token: 17742
ETC
- 我的 TrackingEventProcessor 以 Segment[0/0] 开始,这对我来说似乎是正确的,因为我使用了 InMemoryTokenStore
2018-08-16 14:18:50.190 INFO 30006 --- [t-projection]-0] o.a.e.TrackingEventProcessor : Fetched token: null for segment: Segment[0/0]
- TrackingEventProcessor 开始运行并尝试传递以下语句(来自版本 3.2.1 中的源代码第 248 行):
if (eventStream.hasNextAvailable(1, SECONDS))
- 上面的检查总是返回'false',因为eventStream(来自AxonDB客户端的EventBuffer)的实现总是没有结果。
我已经咬了一段时间的灰尘,并认为我已经走到了死胡同。我没有收到任何错误消息或异常。读取事件似乎有效,通过 AxonDBEventStore 日志记录确认。但在此之后,EventBuffer 保持为空,因此我的处理器甚至无法检查它是否应该处理它所呈现的事件。因此,我想我的处理器的名称在这里不会是问题。我尝试了几个处理器名称(与事件中的数据匹配),但没有任何运气。反序列化似乎确实有效,因为我昨天在调试期间在某处发现了一个反序列化事件(虽然不记得在哪里......)。它看起来和我预期的一样。
有谁知道这里可能是什么问题?
spring-boot - 将 eventstore 与 Axon Framework 3 和 Spring Boot 一起使用
我正在尝试实现一个简单的分布式应用程序,并且我想将所有事件保存到事件存储中。出于这个原因,正如 Axon here的“文档”中所建议的那样,我想使用 Mysql 作为事件存储。
由于我对 Spring 没有太多经验,因此我无法理解如何使其工作。我将有两个单独的服务,一个用于命令端,一个用于查询端。由于我计划提供更多服务,因此我想知道如何将它们配置为使用外部事件存储(不存储在任何这些服务中)。
对于命令和事件的分发,我使用的是 RabbitMQ:
这会在本地运行的 RabbitMQ 实例上创建所需的队列(使用默认用户名和密码)。
我的问题是:如何配置 Axon 以使用 mysql 作为事件存储?
cqrs - 轴突重试测试
我正在使用 Axon 框架编写一个系统。我的一个事件处理程序将命令发布到不同的微服务,并且我已经实现了带有指数退避的重试功能,以处理其他服务不可用的情况。
如果我在监视日志等时手动关闭接收微服务,我可以看到这个工作,但是有没有更正式的方法来自动化这个测试?
rabbitmq - 从 Axon 3.3.5 上的 RabbitMQ 队列读取事件的问题
使用 Axon 3.3.5,我正在尝试从 AMQP 队列中读取事件。
我调试了该onMessage
方法,当有新消息进入时,eventProcessors
列表始终为空,因此我的应用程序不会处理该消息。
我错过了什么?
spring-boot - axon org.axonframework.commandhandling.NoHandlerForCommandException:没有已知节点可以接受
尝试使用 Spring Cloud 实现 DistributedCommandBus 时,我间歇性地收到以下错误。我有理由相信我的聚合根类、它的命令处理程序和我的配置 bean 类的自动配置会发生某种竞争情况。
org.axonframework.commandhandling.NoHandlerForCommandException:没有已知节点可以接受。
我正在使用 Axon 版本 3.3.5。
这是我的配置类:
这是我的带有命令处理程序的聚合类:
任何帮助深表感谢。
testing - AxonFramework:如何测试@EventHandler
我有这个组件,它通过 RabbitMQ 队列与其他服务集成:
我应该如何测试这个?
spring-boot - 没有处理程序订阅命令。轴突 3.3
我正在尝试通过教程创建基本的 Axon/Spring 应用程序,但遇到了奇怪的错误,例如:NoHandlerForCommandException: No handler was subscribed to command。Axon 好像看不到@CommandHandler 注解。
这是我的文件:
总计的
事件
命令
春季启动配置
这就是我发送 cmd 的方式
我的 build.gradle