¿Es bueno o malo pasar ActorRef a otros actores?
Estoy tratando de averiguar si mi uso de pasar AkkaActorRef
alrededor de otros actores no es un antipatrón.
Tengo algunos actores en mi sistema. Algunos son de larga vida (restClientRouter
,publisher
) y algunos mueren después de haber hecho el trabajo (geoActor
) Los actores de corta duración necesitan enviar mensajes a los actores de larga duración y, por lo tanto, necesitan suActorRef
s.
//router for a bunch of other actors
val restClientRouter = createRouter(context.system)
//publishers messages to an output message queue
val publisher: ActorRef = context.actorOf(Props(new PublisherActor(host, channel)), name = "pub-actor")
//this actor send a message to the restClientRouter and then sends the response
//to the publisher
val geoActor = context.actorOf(Props(new GeoInferenceActor(restClientRouter, publisher)), name = "geo-inference-actor")
Como puede ver, estoy pasando el ActorRefs (restClientRouter
ypublisher
) al constructor deGeoInferenceActor
. ¿Está bien o no? ¿Hay una mejor manera de hacer esto?