【问题标题】:How to retrieve all journal events using Akka persistence queries?如何使用 Akka 持久性查询检索所有日志事件?
【发布时间】:2016-12-29 10:09:29
【问题描述】:

Akka 持久性查询具有以下预定义操作:

EventsByPersistenceId 事件标签 CurrentEventsByPersistenceId 当前事件按标签 所有PersistenceIds

但是如果我需要获取所有过去的事件,或者某种 CurrentEvents 操作怎么办?我不知道如何在 Akka 持久性查询术语中实现它。

【问题讨论】:

    标签: akka akka-persistence


    【解决方案1】:

    我对持久化查询模块不是很熟悉,但是这些操作都定义了一些akka-streams源。您可以尝试将它们组合如下:

      def currentEvents(fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope, NotUsed] =
        currentPersistenceIds().flatMapConcat(id => currentEventsByPersistenceId(id, fromSequenceNr, toSequenceNr))
    

    flatMapMerge 具有并发广度是flatMapConcat 的替代方案,以防您想并行化)

    【讨论】:

    • 谢谢。这可能是一种可能性。我不确定这种方法的效率(首先获取所有持久性 ID,然后获取每个事件的事件)与获取实时流的快照。但是好像没有办法截取整个直播流。
    猜你喜欢
    • 1970-01-01
    • 2019-11-06
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 1970-01-01
    • 2016-03-07
    • 2019-11-19
    相关资源
    最近更新 更多