命名Akka演员的最佳做法(在随播对象中)

时间:2019-03-21 15:59:16

标签: scala akka akka-actor

我有几个像这样定义的akka​​演员:

object SomethingActor {
  val name: String = "somethingActor"
  def props: Props = Props(new SomethingActor())
}

class somethingActor extends Actor {
  verride def receive: Receive = ???
}

// somewhere else
final val myActor = actorSystem.actorOf(SomethingActor.props, SomethingActor.name)

在这些参与者中,在我的应用程序的任何给定时刻,最多只有一个瞬间是“有效的”,因此仅当旧的SomethingActor死亡时,才能创建新的SomethingActor演员。

现在,我不认为这样定义演员名称:val name: String = "somethingActor"非常好,所以我一直在想是否可以使用这样的名称:

object SomethingActor {
  val name: String = this.getClass.getName
  def props: Props = Props(new SomethingActor())
}

这会被视为不良做法吗?有没有更好的方法来解决这个问题?我(认为我)需要将名称保存在伴随对象中,以便能够使用ActorSystem.actorSelection(path: String)docu)从程序的另一点搜索演员。

0 个答案:

没有答案