Jeśli tworzę aktora za pomocą context(). ActorOf() w Akka, otrzymuję prawidłowy ActorRef. Jeśli jednak zrobię to samo, ale utworzę ActorRef za pomocą actorFor i ścieżkę, którą znam, w której pojawi się aktor, nie otrzymam rzetelnego ActorRef z powrotem. Jak mogę stwierdzić, że aktor został pomyślnie zarejestrowany?W Akka, skąd mam wiedzieć, kiedy aktor jest gotowy do użycia po zarejestrowaniu w actorOf()?
W powyższym opisie, może po prostu używać ActorRef zwrócone od actorOf(). Jednak w moim przypadku tworzę aktora, który sam rejestruje aktora dziecka i muszę to rozwiązać, więc ogólnie rzecz biorąc, problem polega na tym, "jak mogę poczekać/zarejestrować się, aby być poinformowanym o aktorze, który został zarejestrowany na znanej ścieżce? ".
Uzgodnione na dwóch pierwszych punktach, aktor może nigdy nie był tam i może odszedł, zanim masz szansę go użyć. Po pierwsze, domyślam się, że to, czego naprawdę szukam, to jak prawidłowo uruchomić system oparty na aktorach. Czy powinienem zapytać() aktora reprezentującego podsystem za pomocą komunikatu Start, aby upewnić się, że on i jego podsystemy są z kolei gotowe? – SoftMemes
Utwórz swój system jako wykres Aktorów. Następnie możesz użyć kombinacji DeathWatch i systemu eventStream, aby opublikować alive/death. Byłoby interesujące mieć także LifeWatch. Istnieje jednak ryzyko, że wycieknie z pamięci, jeśli aktor nie ożyje. –
podczas korzystania z pliku akka.testkit, wysyłasz wiadomość do natychmiastowego aktora. Potrzebujesz sposobu, aby wiedzieć, że jest gotowy ... – KitAndKat