我有一个我用另一个Actor(父母)创建的Actor。我还从父母中产生了几个其他的Actor。树看起来像:
ParentActor
-- ServiceActor
-- ProcessActor1
-- ProcessActor2
现在我想将此ServiceActor实例传递给ProcessActor实例,但问题是ServiceActor可能会在某些时候窒息并被杀死。我在父母处理这个问题,我将为ServiceActor启用一个Restart策略。
现在我的问题是如果我如上所述创建我的所有Actors,并且几个小时之后ServiceActor因为发生异常而重新启动,我应该重新实例化我的ProcessActor吗?
旧的ServiceActor ActorRef引用是否仍然有效?
答案 0 :(得分:2)
即使基础actor多次重启,<script>
window.addEventListener("load", doStuff);
function doStuff() {
var txtElement = document.getElementById("myTextField");
if (txtElement != null) {
alert(txtElement.value);
}
else {
alert("Element not found!"); //This alert is always thrown
}
}
</script>
也有效。来自官方addEventListener()
:
Actors的丰富生命周期钩子提供了一个有用的工具包来实现各种初始化模式。在
ActorRef
的生命周期中,一个actor可能会经历多次重启,其中旧实例被一个新实例替换,对于只看到ActorRef
的外部观察者而言是无形的。