preStart Hook: eine Nachricht an den Aktor selbst

8

Nehmen wir an, ich überschreibe den preStart Hook und sende eine Nachricht an self :

%Vor%

Kann ich erwarten, dass SomeMessage die erste Nachricht in der Warteschlange ist?

    
tokarev 02.05.2013, 12:00
quelle

1 Antwort

26

Nein. Da die Actor-Erstellung asynchron erfolgt, hat möglicherweise jemand eine Nachricht eingereiht, bevor der Konstruktor oder preStart tatsächlich ausgeführt wird. Wenn Sie sicherstellen müssen, dass diese Nachricht vor allen anderen verarbeitet wird, müssen Sie become und stash :

verwenden %Vor%

Sie müssen das Merkmal akka.actor.Stash mischen und diesen Akteur so konfigurieren, dass er DequeBasedMailbox verwendet.

    
Roland Kuhn 02.05.2013, 12:49
quelle

Tags und Links