2017-05-10 1 views
0

Dans l'un de mes acteur je crée enfant routeur acteur comme ceci:nouvelle adresse à BroadcastGroup à Akka

this.actorRouter = getContext().actorOf(Props.empty().withRouter(new BroadcastGroup(neighbours)), "router"); 

neighbours est la liste des chaînes (adresse). Maintenant je veux pouvoir changer cette liste. Par exemple, un nouveau message arrive d'un acteur inconnu et je veux ajouter son adresse à mon routeur. J'ai essayé d'exécuter juste au-dessus de la ligne avec la nouvelle liste, cependant j'obtiens l'erreur que "le nom d'acteur est déjà pris". Est-il possible de manipuler BroadcastGroup une fois créé?

Répondre

1

de the doc

Messages de gestion

  • akka.routing.GetRoutees à un envoi acteur de routeur faire envoyer retour ses routées actuellement utilisés dans un message akka.routing.Routees.
  • L'envoi de akka.routing.AddRoutee à un acteur de routeur ajoutera ce routee à sa collection d'itinéraires.
  • L'envoi de akka.routing.RemoveRoutee à un acteur de routeur supprimera cet itinéraire à sa collection d'itinéraires.
  • L'envoi de akka.routing.AdjustPoolSize à un acteur de routeur de pool ajoutera ou supprimera ce nombre de routes à sa collection d'itinéraires.