Czy muszę ponownie użyć tego samego Akka ActorSystem lub czy mogę go utworzyć za każdym razem, gdy go potrzebuję?

Akka 2.x wymaga wielu poleceń, aby odwołać się doActorSystem. Aby stworzyć instancję aktoraMyActor mógłbyś powiedzieć:

val system = ActorSystem()
val myActor = system.actorOf(Props[MyActor])

Z powodu częstej potrzebyActorSystem: wiele przykładów kodu pomija tworzenie z kodu i zakłada, że ​​czytelnik wie, gdzie asystem zmienna pochodzi z.

Jeśli twój kod generuje aktorów w różnych miejscach, możesz zduplikować ten kod, prawdopodobnie tworząc dodatkoweActorSystem instancje lub możesz spróbować podzielić się tym samymActorSystem na przykład odwołując się do niektórych globalnych lub przekazującActorSystem na około.

Dokumentacja Akka zapewniaogólny przegląd systemów aktorów pod nagłówkiem „Systemy aktorów” i tam jestdokumentacjaActorSystem klasa. Jednak żadna z nich nie pomaga w wyjaśnieniu, dlaczego użytkownik Akki nie może polegać na Akce, aby zarządzać tym ukrytym okiem.

Pytania)

Jakie są konsekwencje dzielenia się tym samymActorSystem obiekt lub tworzenie nowego za każdym razem?

Jakie są najlepsze praktyki tutaj? Przechodzę wokółActorSystem cały czas wydaje się zaskakująco ciężka.

Niektóre przykłady dająActorSystem imię:ActorSystem("MySystem") inni po prostu dzwoniąActorSystem(). Co to za różnica, a jeśli użyjesz tej samej nazwy dwa razy?

Robiakka-testkit wymagać dzielenia się wspólnymActorSystem z tym, który przekazujeszTestKit konstruktor?

questionAnswers(2)

yourAnswerToTheQuestion