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