scala之在 Scala 中唯一标识 Actor

shangdawei 阅读:22 2024-11-01 17:39:52 评论:0

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

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

请您参考如下方法:

如果您使用的是 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") 


标签:Scala
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号