我目前正尝试使用Akka Persistence实现对事件源应用程序的快照。我试图采取的策略是:
schemaVersion
属性。如果我改变回复活动的方式,schemaVersion
的目的是允许我进化/迁移我的状态。state.schemaVersion
小于我当前架构版本的SnapshotOffer,则丢弃该快照并从头开始重播事件但是,我发现我无法在恢复过程中丢弃快照。如果快照存储中有快照,则不会向我提供先前的事件。
我很难读懂如何处理这个问题。这里有什么正确的方法?
答案 0 :(得分:2)
我有一件事没有得到,状态对象是什么?从哪里得到 <?php if ( trim( get_theme_mod('pocketcars_url1' ) ) != '' ) : ?>
<a href="<?php echo esc_url( get_theme_mod( 'pocketcars_url2' ) );?>" class="social1">
<i class="fa fa-twitter" aria-hidden="true"></i></a>"
<?php endif; ?>
?状态不是完全从快照/事件重建的actor的状态吗?
在任何情况下,一旦提供快照,您就无法删除和/或跳过快照。相反,您可以执行以下操作:
schemaVersion
(默认为drop-snapshot
) false
override def preStart(): Unit = { super.preStart() if (dropSnapshot) deleteSnapshots(SnapshotSelectionCriteria.Latest) }
覆盖preStart
方法
override def recovery = { if (dropSnapshot) { Recovery(fromSnapshot = SnapshotSelectionCriteria.None) } else { Recovery(fromSnapshot = SnapshotSelectionCriteria.Latest) } }