Существуют ли ярлыки пути выбора Akka actorSelection? - PullRequest
0 голосов
/ 06 марта 2019

Java 8 и Акка 2.5.16 здесь. У меня есть следующий актер:

public class Guardian extends AbstractActor {
  @Override
  public Receive createReceive() {
    return receiveBuilder()
        .matchAny(message -> {
            // Do stuff in here
        }).build();
  }
}

Который я создаю так:

ActorRef guardian = context().actorOf(Props.create(Guardian.class), Guardian.class.getName());
String path = guardian.path().toString();

// Prints: "akka://myapp/user/com.me.myapp.Guardian"
log.info("path = {}", path);

Теперь я хотел бы использовать ActorSelection для поиска этого существующего актера:

String pathShortcut = "user/com.me.myappp.Guardian";
ActorSelection guardianSelection = context().actorSelection(pathShortcut);

Нужно ли , чтобы передать полное значение пути (akka://myapp/user/com.me.myapp.Guardian), или я могу предоставить ярлык, например:

// Examples:
String pathShortcut1 = "user/com.me.myappp.Guardian";
String pathShortcut2 = "com.me.myapp.Guardian";
String pathShortcut3 = "Guardian";

Другими словами, context().actorSelection(...) требует полностью определенного пути или он может использовать ярлыки и разумно их разрешать / выводить?

Кроме того, будет ли «протокол пути» всегда равным akka:// или он когда-нибудь изменится (скажем, с удаленными актерами или другими библиотеками актеров)?

Заранее спасибо!

1 Ответ

0 голосов
/ 11 марта 2019

Краткий ответ " нет ", вы должны предоставить полный akka://full/path/to/named/actor/instance с ActorSelections.

...