Вам не нужен актер, чтобы сделать это в Akka 1.3.1, вы можете запланировать вызов функции каждые 5 минут, например:
Scheduler.schedule(() => println("Do something"), 0L, 5L, TimeUnit.MINUTES)
Однако, если вы хотите, чтобы он был актером по другим причинам, вы бы назвали это так
case class Message()
val actor = actorOf(new Actor {
def receive = {
case Message() => println("Do something in actor")
}
}).start()
Scheduler.schedule(actor, Message(), 0L, 5L, TimeUnit.MINUTES)
Если вы используете Akka 2.0, то это будет сделано так
val system = ActorSystem("MySystem")
system.scheduler.schedule(0 seconds, 5 minutes)(println("do something"))
Или отправлять актеру сообщение каждые 5 минут, как это
case class Message()
class MyActor extends Actor {
def receive = { case Message() => println("Do something in actor") }
}
val system = ActorSystem("MySystem")
val actor = system.actorOf(Props(new MyActor), name = "actor")
system.scheduler.schedule(0 seconds, 5 minutes, actor, Message())