2016-12-29 35 views
1

阿卡持久性查詢有如下預定義的操作:如何使用Akka持久性查詢檢索所有日記事件?

EventsByPersistenceId EventsByTag CurrentEventsByPersistenceId CurrentEventsByTag AllPersistenceIds

但是如果我需要把所有過去的事件,某種進行中...運作的?我無法弄清楚如何以Akka持久性查詢術語來實現它。

回答

2

我不是很熟悉持久性查詢模塊,但這些操作都是定義一些阿卡流源。你可以嘗試如下把它們混合起來:

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

flatMapMerge併發廣度是flatMapConcat另一種情況下,你想parallelise本)

+0

感謝。這可能是一種可能性。我不確定此方法的效率(首先獲取所有持久性id,然後獲取每個人的事件)與獲取實時流的快照。但是看起來好像沒有一種方法可以顯示整個直播流的快照。 –

+0

是的,我認爲它的工作原理,謝謝! –

相關問題