2016-12-08 6 views
0

Я создаю службу API на Scala, которая должна вызывать удаленный актер для определенного микросервиса.Akka Remote Actor - actorSelection не удался

Документация говорит о том, что:

val remoteSelection = context.system.actorSelection("akka.tcp://[email protected]:2552/user/EmailActor").resolveOne() 

Однако, когда я реализую его на моем коде, я всегда получаю текущее местное ActorSystem, как показано ниже:

Сбои (akka.actor.ActorNotFound: Актер не найдено: ActorSelection [Anchor (AKKA: // LocalSystem/deadLetters)

где LocalSystem является предыдущая Ac torSystem, который я использовал.

Может ли кто-нибудь мне помочь?

Благодаря

+0

Где находится ваша удаленная система .. она находится в одной системе или другой системе? – pamu

+0

@pamu Удаленная система находится в отдельной папке, и я запускаю каждое приложение в отдельном терминале с помощью SBT RUN – Totozy

+0

127.0.1.1 ... не должно быть 127.0.0.1? –

ответ

0

ошибки действительно говорят, что нет актера с этим путем, в этой системе. Вы уверены, что этот актер создан, прежде чем называть его?

Вы можете зарегистрировать свой путь, когда он создан (println(self.path)), чтобы проверить это.

+0

Спасибо @Simon, Я положил println, и я получил это: akka: // WebSystem/user/emailActor Кажется, что actorSelection ничего не делает. Я пропустил что-то, чтобы позвонить удаленному актеру? – Totozy