scala – 持久性的唯一性在akka-persistence中
我正在使用
scala api for akka-persistence来持久化一组组织成树的actor实例.树中的每个节点都是持久性actor,并根据“根”节点到该节点的路径命名. persistenceId设置为名称.例如,根节点actor具有persistenceId’root’.下一个节点有persistenceId’root-europe’.另一个演员可能有persistenceId’root-europe-italy’.
每个参与者的状态包括其子女的名字列表.例如. ‘root’演员将“欧洲”,“亚洲”等列表作为其州的一部分. 我已经为这个系统实现了快照.当根被触发为快照时,它会这样做,然后告诉每个孩子也这样做. 快照恢复期间出现问题.当我使用persistenceId =’root’重新创建一个actor时(通过将名称作为构造函数参数传递),该actor接收的SnapshotOffer事件是错误的.例如,它是’root-europe-italy ….’.这似乎是持久性合同的矛盾,其中persistenceId标识要恢复的actor状态.我通过反转节点actor的persistenceId(例如’italy-europe-root’)解决了这个问题,所以这似乎与持久性模块检索文件的方式有关.请注意,我首先尝试了其他方法,例如,我在节点名称之间使用了各种分隔符,或者根本没有使用分隔符. 有没有其他人遇到过这个问题,或者akka-persistence开发人员可以帮助我理解为什么会发生这种情况? BTW:我现在正在使用内置的基于文件的快照存储. 谢谢. 解决方法
好的 – 问题出在Akka身上,现在已经解决了.请参阅
related ticket以了解修补程序何时发布.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |