有没有办法在PersistenceQuery中使用快照

时间:2016-08-11 09:53:59

标签: scala akka akka-persistence

PersistentView已在akka 2.4中弃用。文档建议切换到PersistenceQuery。但是PersistenceQuery似乎仅限于事件日志,但没有查询快照存储的功能。

从大量事件中恢复状态需要一些时间,因此使用快照的能力对我来说非常重要。

这次弃用是否超过了它的时间?我应该继续使用PersistentView还是我错过了什么?如何仅使用PersistenceQuery

处理快照

谢谢

1 个答案:

答案 0 :(得分:1)

一种方法:

  • 将您使用的Actor设为" PersistentView"扩展PersistentActor。
  • 将PersistentQuery偏移量存储在PersistentActor的状态中并定期保存快照。
  • 最初将查询偏移设置为最早的偏移。
  • 在receiveRecover中,将查询偏移量设置为存储在PersistentActor快照中的偏移量。

示例:https://github.com/benniekrijger/todo-service/blob/master/src/main/scala/com/todos/repository/TodoRepositoryView.scala