2016-07-28 19 views
0

Ich bin frisch zu akka, auch Schauspieler, ich frage mich, warum kann nicht finden, eine gleichzeitige Mailbox zu verwenden.
Als Ergebnis muss ich einen Versandakteur definieren, der an seinen Arbeitsakteur gesendet wird.Viele Male interessiert mich die Reihenfolge der Daten nicht und in dieser Situation macht die Nachricht nach der Sequenz nur Zeit.Warum Actor-Modul keine gleichzeitige Mailbox unterstützen?

+0

AFAIK Akka Standard Mailbox ist gleichzeitig und mit Out-of-Order-Sematiken –

+1

Erwägen Sie die Verwendung eines Routers. http://doc.akka.io/docs/akka/2.4.8/scala/routing.html#simple-router-scala –

+0

@VincenzoMaggio, nicht gleichzeitig Punkt bei der Nachricht verbrauchen immer eins nach dem anderen.Vielen Dank Ihre Tipps – LoranceChen

Antwort

0

Ich schaffe finden Schauspieler mit Router Requisiten ist eine gute Wahl:

val actorRef: ActorRef = context.actorOf(Props[MyActor] 
     .withRouter(RoundRobinPool(nrOfInstances = 4)), name = "myActor") 
    //or 
context.actorOf(RoundRobinPool(5).props(Props[MyActor]), "myActor") 

Es wird vier Schauspieler Instanz schaffen, sondern ein actorRef zurückkehren - RoundRobinPool Griff und Eilnachricht zu diesen Akteuren.