Передача ActorRef другим актерам - это хорошо или плохо?
Я пытаюсь выяснить, если я использую прохождение АккаActorRef
Вокруг других актеров это не анти паттерн.
У меня есть несколько актеров в моей системе. Некоторые долго живут (restClientRouter
,publisher
) и некоторые умирают после этого они сделали работу (geoActor
). Короткоживущие актеры должны посылать сообщения долгоживущим актерам и поэтому нуждаются в ихActorRef
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")
Как вы можете видеть, я прохожу ActorRefs (restClientRouter
а такжеpublisher
) к конструкторуGeoInferenceActor
, Это нормально или нет? Есть ли лучший способ сделать это?