【发布时间】:2016-12-29 10:09:29
【问题描述】:
Akka 持久性查询具有以下预定义操作:
EventsByPersistenceId 事件标签 CurrentEventsByPersistenceId 当前事件按标签 所有PersistenceIds
但是如果我需要获取所有过去的事件,或者某种 CurrentEvents 操作怎么办?我不知道如何在 Akka 持久性查询术语中实现它。
【问题讨论】:
标签: akka akka-persistence
Akka 持久性查询具有以下预定义操作:
EventsByPersistenceId 事件标签 CurrentEventsByPersistenceId 当前事件按标签 所有PersistenceIds
但是如果我需要获取所有过去的事件,或者某种 CurrentEvents 操作怎么办?我不知道如何在 Akka 持久性查询术语中实现它。
【问题讨论】:
标签: akka akka-persistence
我对持久化查询模块不是很熟悉,但是这些操作都定义了一些akka-streams源。您可以尝试将它们组合如下:
def currentEvents(fromSequenceNr: Long, toSequenceNr: Long): Source[EventEnvelope, NotUsed] =
currentPersistenceIds().flatMapConcat(id => currentEventsByPersistenceId(id, fromSequenceNr, toSequenceNr))
(flatMapMerge 具有并发广度是flatMapConcat 的替代方案,以防您想并行化)
【讨论】: