Akka でスケジュールを使用する基本的な例を次に示します。
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 に問題がある ('system' が認識されない)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