如何在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快照存储,以便为我提供所需的快照。
有没有办法做到这一点?为什么它被显式地设置为私有的,并且不可调用?
发布于 2017-05-16 22:27:57
我不认为有一种方法可以显式地请求某个快照。
快照在SnapshotOffer消息中的恢复过程中提供给持久执行元。默认情况下,向执行元提供最新的快照,但可以通过覆盖recovery并提供自定义SnapshotSelectionCriteria来自定义快照。另请参阅http://doc.akka.io/docs/akka/current/scala/persistence.html#Snapshots
https://stackoverflow.com/questions/43825218
复制相似问题