我想通知调用者成功应用了发送到我的对象的状态更改命令,该对象扩展了 UntypedPersistentActor。
如果我不坚持状态更改,我会返回一个带有影响更改的闭包的 Future,并让调用者等待。
如果我理解正确的话,Akka 的“persist()”调用会强制我传入一个将异步执行的闭包。如果我返回一个本身调用persist() 的Future,我只是告诉调用者我已经成功地将更改排队等待以后的应用程序......而不是它已被应用,甚至它的应用程序将成功。
我想关于一个调用者的保证排序有点满足知道何时应用更改的需要,但是如果更改失败怎么办?如果被调用者因为失败而重新启动,调用者的消息将被丢弃,状态改变永远不会发生,调用者将不知情。将错误返回给调用者并在那里显示它似乎会更干净。
有没有好的方法来实现这一目标?