繁体   English   中英

在scala中唯一识别actor

[英]Uniquely identifying actors in scala

我正在scala中构建一个简单的日志记录类,它将所有日志信息写入文件。 这是家庭作业的一部分。 因此,我不能在java或scala或akka库中使用已经可用的记录器。 您是否可以告诉我们如何在scala中唯一标识actor,即每个actor都有资源ID或任何其他ID。 如果是这样,它怎么能被访问?

我尝试在actor对象上使用hashCode()。 但它没有给出预期的结果,因为每个对象的值都会发生变化,并且可以为单个actor创建许多对象。

如果您正在使用akka actor,您可以通过查看self.path获取该actor的名称(self是一个ActorRef)

http://doc.akka.io/api/akka/2.0.4/#akka.actor.ActorPath

编辑:

如果您正在使用scala actor,那么您可以执行类似...

class MyActor(name: String) extends Actor { 
  def act() {
    receive {
      case _ => println("Message on actor: " + name)
    }
  } 
}
val actor1 = new MyActor("actor1")
val actor2 = new MyActor("actor2")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM