当前位置: 首页 > 知识库问答 >
问题:

在轴突中顺序处理两个事件

堵彬彬
2023-03-14

我可以在Axon中顺序处理的两个事件之间放置一个序列(或以一定的时间间隔执行)。这两个事件同时创建。下面是示例事件。

因为我的第二个事件取决于第一个事件的执行结果。我正在使用RabbitMq发布消息

@EventHandler
public void handleEvent1(Event1 event) {
    LOG.debug("An event of type {}, occured.", event.getClass().getName());
 }

@EventHandler
public void handleEvent2(Event2 event) {
    LOG.debug("An event of type {}, occured.", event.getClass().getName());
 }

共有1个答案

何涵育
2023-03-14

您介意详细说明您需要这个的用例吗?我已经为你的问题准备好了答案,但也许我可以根据你需要的情况提出不同的行动方案。

事件将按照它们被分配给您使用的消息源的顺序进行处理。

eventstore中,这意味着您将按照每个事件的全局索引顺序接收事件。GlobalIndex是每个EventMessage上的字段,用于表示它在整个事件存储区中的顺序。

 类似资料:
  • 我在用轴突事件跟踪处理器。有时事件需要10秒才能处理。 这似乎导致消息再次被处理,并出现在日志“释放令牌X/0的声明失败。它由另一个节点拥有”中。 如果我增加段数,它不会记录此事件,但事件仍被处理两次,所以我认为这可能会引起误解。 (我想我搞错了) 我已经尝试调整fetchDelay、cleanupDelay和TokenClaimInterval。没有一个解决了这个问题。我是不是缺了什么东西? 编

  • 我研究Flink已经一个多星期了。我们正在从Kafka消费事件,我们希望事件属于一个特定的对象id需要按照事件时间的顺序进行处理。到目前为止,我的研究告诉我,我应该使用keyby和timewinds,我的理解是正确的吗? 另一个问题是,当一个任务管理器关闭时,只有属于该任务管理器的事件才会被停止处理,直到该任务管理器启动?检查点机制是否知道未被处理的事件,它将如何请求Kafka关于这些事件? 下面

  • 当我切换到XStream作为事件序列化器时,一切都很好。不执行额外的偶数实例,在命令处理程序中创建的事件与在EventHandler中处理的事件相同。 这是怎么回事?

  • 需要读取spring批处理中的文件,对其进行处理并将其作为一个提要保存。一个提要包含50%的信息。当我必须持久化提要的最终结果时,我需要使用公共字段将它们组合起来,并像一个项目一样持久化。请参见下面的示例。 我需要保留的最终信息如下: 请建议我如何在我的Spring批工作中实现这一点。 谢谢

  • 我在我的Spring启动(2.3.0)应用程序中使用Axon框架(4.3),并且我通过jpa将Postgres(9)db设置为事件存储。数据库仅用作事件存储,并且不存在其他关系。数据库也部署在专用 VM 中。 在应用程序上线一年后,我开始注意到事件处理级别极度缓慢(减慢了整个应用程序的速度)。 正在分派事件,需要一些时间来处理。 应用程序部署在4个实例中,并在我们进行部署时定期重新启动。事件存储在

  • 我有两个独立的Spring-Boot微服务,一个是命令端,另一个是查询端,命令服务将事件存储在Mongodb中,将事件放到RabbitMQ中,然后查询端订阅队列并建立查询模型。现在如何在Axon中实现事件重放和建立查询模型?是否有可能两个服务在不同的节点上独立运行。如果不可能,那么我应该遵循什么来实现这一点。