了解上游发生故障时如何处理akka引用

yr9zkbsy  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(168)

我正在构建一个应用程序,它需要对指向上游发送方的sender引用进行延迟响应。
在A发生故障并由其管理程序重新启动时,B所持有的sender引用是否仍指向新重新启动的A参与者?

vlju58qv

vlju58qv1#

是的,在重新启动之后,ActorRef指向新的 *actor示例 *,该示例被认为属于同一个 *actor示例 *(请参见Akka文档中的的actor生命周期部分)。
该文档还在此处明确说明了这一点:
ActorRef的相等性与ActorRef对应于目标参与者化身的意图相匹配。当两个参与者引用具有相同的路径并指向相同的参与者化身时,它们被比较为相等。指向已终止参与者的引用与指向另一个参与者的引用不相等(重新创建的)执行元。请注意,由失败导致的执行元重新启动仍意味着它是同一个执行元化身,即重新启动对于ActorRef的使用者不可见。
因此,执行元是被终止并创建另一个示例,还是由主管重新启动,这是有区别的。

相关问题