我正在学习 Akka,并且试图弄清楚如何让演员互相交谈(让我们称他们为A
and B
)。这不是请求/响应场景,A
并且B
随时都在互相发送消息。
目前我有两个兄弟演员,他们在两个方向上互相传递消息。它们都是直接在ActorSystem
. 我最初将ActorRef
of传递A
给B
. 但是我不能将 of 传递给ActorRef
ofB
的构造函数,A
因为它还不存在,即我不能将此方法用于循环引用。
我一直在阅读actorFor
,这可以让我使用它的路径查找演员。但是,我对这种设置并不满意,因为如果路径发生变化,编译器就不会捕捉到它。
另一种选择是,考虑到每个actor都可以访问它的父级,将消息从父级传递到父级,A
然后B
让父级将消息传递回A
and B
。但这会将父级与来回传递的消息类型结合起来。
人们使用什么策略让演员互相了解?我对通过路径查找演员是否过于谨慎?