Недавно я коммутационные от SCALA актеров Akka актеров, но заметил, что Akka актеры используют ActorRef
вместо объекта экземпляра:Turning Scala Актеры Акку Актеры: один экземпляр для вызова методов
val actorRef: ActorRef = Actor.actorOf(new MyActor)
Так что я попытался :
val myActor = new MyActor
val actorRef: ActorRef = Actor.actorOf(x)
... иметь как: 1) ActorRef
для отправки сообщений и 2) MyActor
для вызова методов на.
Но я получил:
akka.actor.ActorInitializationException: ActorRef for instance of actor [MyActor] is not in scope.
Так что мой вопрос: Как я могу получить экземпляр (определенного типа), на которых я могу назвать ActorRef
-как методы как !
а также методы из экземпляра MyActor
?
Почему вы вызываете методы на актера? Какие методы? Я думаю, что вызов методов непосредственно на актера опасен, и вы должны подумать об изменении того, как это работает. – Submonoid
@ Субмонид Я знаю, что это опасно. Это какой-то метод удобства, как вы можете видеть в моем примере, он не изменяет внутреннее состояние актеров (опасную часть), а только отправляет сообщение. –