Я пытаюсь заставить актера работать, но он работает только частично.
MyActor работает каждую секунду и запускает задание, вызывая себя в цикле.
Эта часть отлично работает.
Я также хотел бы вызывать MyActor случайно из других частей моего приложения.
Это НЕ работает.
MyActor увеличивает свой mailboxSize, но затем продолжает цикл и никогда не получает никаких сообщений, отправленных извне.
case class DoJob(fast:Boolean)
object MyActor extends Actor {
def act = {
loop {
MyActor ! DoJob(false)
receive {
case DoJob(fast) => {
Job.perform(fast)
}
}
Thread.sleep(1000)
}
}
}
Следующее не работает с точки зрения вызова DoJob (true), а просто увеличивает размер почтового ящика MyActor:
MyActor ! DoJob(true)
Что здесь может быть не так?