我正在构建一个应用程序,它需要对指向上游发送方的sender引用进行延迟响应。在A发生故障并由其管理程序重新启动时,B所持有的sender引用是否仍指向新重新启动的A参与者?
sender
vlju58qv1#
是的,在重新启动之后,ActorRef指向新的 *actor示例 *,该示例被认为属于同一个 *actor示例 *(请参见Akka文档中的的actor生命周期部分)。该文档还在此处明确说明了这一点:ActorRef的相等性与ActorRef对应于目标参与者化身的意图相匹配。当两个参与者引用具有相同的路径并指向相同的参与者化身时,它们被比较为相等。指向已终止参与者的引用与指向另一个参与者的引用不相等(重新创建的)执行元。请注意,由失败导致的执行元重新启动仍意味着它是同一个执行元化身,即重新启动对于ActorRef的使用者不可见。因此,执行元是被终止并创建另一个示例,还是由主管重新启动,这是有区别的。
ActorRef
1条答案
按热度按时间vlju58qv1#
是的,在重新启动之后,
ActorRef
指向新的 *actor示例 *,该示例被认为属于同一个 *actor示例 *(请参见Akka文档中的的actor生命周期部分)。该文档还在此处明确说明了这一点:
ActorRef
的相等性与ActorRef
对应于目标参与者化身的意图相匹配。当两个参与者引用具有相同的路径并指向相同的参与者化身时,它们被比较为相等。指向已终止参与者的引用与指向另一个参与者的引用不相等(重新创建的)执行元。请注意,由失败导致的执行元重新启动仍意味着它是同一个执行元化身,即重新启动对于ActorRef
的使用者不可见。因此,执行元是被终止并创建另一个示例,还是由主管重新启动,这是有区别的。