gpt4 book ai didi

java - Lagom 中读取端处理器上的事件处理

转载 作者:行者123 更新时间:2023-12-02 11:48:55 24 4
gpt4 key购买 nike

我有一个概念上的疑问。我知道特定实体的事件是在读取端按顺序处理的,但我认为下一个事件的处理不会等到前一个事件成功处理并且数据库更新后。

我说得对吗?如果是,那么有没有办法强制只有当先前的事件成功处理并且读取端数据库更新时才在读取端处理事件?

最佳答案

通常,Lagom 针对每个事件标记一次处理一个事件。不应该出现在前一个事件成功提交之前开始处理下一个事件的情况。

唯一的异常(exception)是您在事件处理程序中显式执行异步操作。如果这样做,您需要专门处理此问题,以确保事件的处理等待该操作完成。具体取决于您使用的读取端类型。

Cassandra 读取端 API 期望事件处理程序返回 CompletionStage<List<BoundStatement>> 。您需要确保此完成阶段仅在事件处理器调用的所有异步操作完成后才完成。 CompletionStageCompletableFuture API 提供了多种方法来组合和排序多个异步操作。

JDBC 和 JPA 读取端 API 期望您的事件处理程序是同步和阻塞的,并在专用执行上下文中执行您的代码以解决此问题。如果您从 JDBC/JPA 事件处理程序调用异步操作,您还应该显式阻止直到它们完成。

关于java - Lagom 中读取端处理器上的事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48016434/

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