加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 持久性的唯一性在akka-persistence中

发布时间:2020-12-16 18:48:33 所属栏目:安全 来源:网络整理
导读:我正在使用 scala api for akka-persistence来持久化一组组织成树的actor实例.树中的每个节点都是持久性actor,并根据“根”节点到该节点的路径命名. persistenceId设置为名称.例如,根节点actor具有persistenceId’root’.下一个节点有persistenceId’root-eu
我正在使用 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以了解修补程序何时发布.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读