【问题标题】:Akka-Persistence : how to fetch a snapshotAkka-Persistence:如何获取快照
【发布时间】:2017-05-06 20:44:33
【问题描述】:

我们如何在 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 快照存储的方法来给我一个我需要的快照。

有没有办法做到这一点?为什么它被明确地设为私有而不是可调用的?

【问题讨论】:

    标签: scala akka snapshot akka-persistence


    【解决方案1】:

    我认为没有办法明确请求某个快照。

    SnapshotOffer 消息中恢复期间将快照提供给持久性参与者。默认情况下,最新的快照会提供给参与者,但这可以通过覆盖recovery 并提供自定义SnapshotSelectionCriteria 来自定义。另见http://doc.akka.io/docs/akka/current/scala/persistence.html#Snapshots

    【讨论】:

      猜你喜欢
      • 2021-01-30
      • 1970-01-01
      • 2019-09-22
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      • 2017-10-02
      • 2014-09-08
      • 2019-07-26
      相关资源
      最近更新 更多