【发布时间】:2013-12-10 23:18:15
【问题描述】:
我有一个管理 Actor 列表的 Actor 类。当它接收到特定类型的消息时,它会将其传递给它所知道的每个 Actor。
var loggers : List[Logger]
def receive = {
...
// log request
case logmessage : LogMessage => {
// send message to each logger (if none, nothing happens)
for (logger <- loggers)
logger ! logmessage
}
...
}
我在logger ! logmessage 上遇到编译错误:“值!不是(包).Logger 的成员”。这 !让谷歌很难做到这一点。 Logger 类编译后,有自己的receive 方法,一行包含self ! PoisonPill,意思是!操作员在那里工作。它们在同一个包中。
【问题讨论】:
-
请显示您的 Logger 类的代码。
-
它扩展了 Actor 并实现了接收。我打算编辑它并删除身体,但现在就是这样。