scala – Akka actorFor通过ActorRef
我正在学习Akka,我想弄清楚如何让演员互相交谈(我们称之为A和B).这不是请求/响应场景,A和B随时发送对方的消息.
目前,我有两个兄弟的演员将两个方向的讯息传递给对方.它们都直接在ActorSystem上创建.我最初将A的ActorRef传递给B的构造函数.但是我不能将B的ActorRef传递给A的构造函数,因为它不存在,即我不能使用此方法进行循环引用. 我一直在阅读关于actorFor,这将让我使用它的路径来查找一个演员.但是,我不太乐意使用此设置,因为如果路径发生更改,则不会被编译器捕获. 另一个选择,考虑到每个演员都可以访问它的父节点,是将消息从A和B传递给父节点,然后让父节点将消息传递回A和B.但是这将父节点传递给正在传递的消息类型来来回回. 人们使用什么策略来让演员相互感知?我是否对于通过路径查找演员过于谨慎? 解决方法
在我谦虚的意见中,你有三个策略,我从更接近你的问题列表(也是对我最糟糕的模式,我很抱歉)
策略1:创建演员A和演员B,将actorRef A传递给演员B的构造器.乒乓球将从演员B开始向演员A发送消息,演员A可以使用发件人参考简单回复. (或者相反) 策略2:您在应用程序中创建一个负责命名的图层:它在创建演员时以及查询时分配名称.这将问题集中在一个点上. 策略3:你想知道两个兄弟姐妹演奏乒乓球是不是取代一个更好的,更模块化的演员层次结构,基本上每个演员只与他的父母和他的孩子沟通,不了解他的兄弟姐妹. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |