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.
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?