2017-05-06 20 views
2

akka-persistenceで古いスナップショットをクエリするにはどうすればよいですか?Akka-Persistence:スナップショットを取得する方法

SnapshotStoreには私的に利用可能であるが、他の方法では呼び出せないメッセージがあることがわかります。LoadSnapshot

snapshotterのインターフェイスがある - >loadSnapshot

が、これは役者へのコールバックを与え、私は必要なものではありません。

/** 
    * Instructs the snapshot store to load the specified snapshot and send it via an [[SnapshotOffer]] 
    * to the running [[PersistentActor]]. 
    */ 
    def loadSnapshot(persistenceId: String, criteria: SnapshotSelectionCriteria, toSequenceNr: Long) = 
    snapshotStore ! LoadSnapshot(persistenceId, criteria, toSequenceNr) 

は、私は基本的には私が必要とするスナップショットを与えるためにaskスナップショットストアへの方法が必要です。

これを行う方法はありますか?なぜそれは明示的にプライベートにされ、呼び出し可能ではないのですか?

答えて

0

明示的に特定のスナップショットを要求する方法はないと思います。

回復時には、SnapshotOfferメッセージでスナップショットが永続アクタに提供されます。デフォルトでは、最新のスナップショットがアクターに提供されますが、これはrecoveryを無効にしてカスタムSnapshotSelectionCriteriaを指定することでカスタマイズできます。他を見るhttp://doc.akka.io/docs/akka/current/scala/persistence.html#Snapshots

関連する問題