Ответ 1
В Akka 2.0 нет необходимости в методе start(), потому что Actors запускаются, как только вы создаете их в контексте ActorSystem
(или другого Actor
), но вам нужно создать их с одним из предоставленных методов ActorSystem
или Actor
context
.
Итак, например, если у вас есть подкласс Actor
под названием MyClass
, вы можете запустить его с помощью:
val system = ActorSystem()
val myActor = system.actorOf(Props[MyActor])
или, если ваш актер принял аргументы конструктора:
val myActor = system.actorOf(Props(new MyActor("arg1"))
или, если вы были в теле другого Актера,
val myActor = context.actorOf(Props(new Actor("arg1"))
и тогда ваш актер мог немедленно получать сообщения, например.
myActor ! MyMessage
Даже ваши действующие лица верхнего уровня начинаются немедленно, так как все Актеры в 2.0 автоматически входят в иерархию наблюдения. Как только актер создается с помощью ActorSystem
, он готов принимать сообщения.