我的应用程序需要能够创建演员的树形结构。我想这样做的标准方法是将实例化代码放在演员中,以便他们可以实例化他们的孩子。我宁愿采用的方法是能够在给定路径上实例化一个演员。比如在mySystem中创建actor A,然后可以直接创建akka://mySystem/A/B等actor。是否存在这样的功能?这将大大简化我的代码。
编辑:现在我不在手机上,让我详细说明一下。
说我有课
class myActor extends actor
我需要制作这些的n路树。而不是在接收函数中实例化自己的孩子所需的代码,例如
case Create(n:Int) => {}
我希望通过不包含任何内容来简化 myActor 代码,而是能够在我的代码开头手动创建我的层次结构。所以理想情况下是这样的(假设假设静态函数“create”):
val sys = ActorSystem("mySystem")
Akka.Actors.Create("akka://mySystem/a", new myActor())
Akka.Actors.Create("akka://mySystem/a/b", new myActor())
Akka.Actors.Create("akka://mySystem/a/c", new myActor())
这将创建演员树:
a
/ \
b c
现在,这存在吗?有没有更好的方法来做到这一点,而不会使我的演员代码与实例化代码混淆?
编辑,第 2 轮:
好的,看起来这个功能不存在。相反,我创建了一个 actor 的子特征,并将我所有的实例化代码强制放入其中,这样我的具体实现类仍然很整洁。