这是在 Akka 中使用 schedule 的基本示例:
import akka.pattern
import akka.util.Timeout
import scala.concurrent.Await
import akka.actor.Actor
import akka.actor.Props
import akka.actor.ActorSystem
import akka.pattern.ask
import scala.concurrent.duration
object Application extends App {
val supervisor = ActorSystem().actorOf(Props[Supervisor])
implicit val timeout = Timeout(10 seconds)
import system.dispatcher
supervisor.scheduler.scheduleOnce(120 seconds) {
val future = supervisor ? Supervisor.Start
val resultIdList = Await.result(future, timeout.duration).asInstanceOf[List[MyIdList]]
supervisor ! resultIdList
}
}
我真的对 Akka 的文档感到困惑。这里说Akka 2.1.2 Scheduler 出现问题(“系统”无法识别)import system.dispatcher
不是包导入,而是其他东西。那是什么?
是什么system
?我必须用 替换它supervisor
吗?即使我不这样做并继续使用system
,我也会遇到几乎相同的错误:
//(using system)
value scheduler is not a member of akka.actor.ActorRef
not found: value system
//or (using supervisor)
not found: value system
not found: value system