我有一个 ActorSystem 在端口 2552 上运行,另一个在端口 2553 上运行。它们每个都创建一个 Actor 实例化一个单例对象。我现在想创建另一个系统来管理这两个系统并且可以引用这些参与者以便同时使用单例。
我知道演员正在监听端口,因为它为每个端口提供了这样的日志
Remoting started; listening on addresses :[akka.tcp://singletonApplication@127.0.0.1:2552]
当我使用调试器查看对象时,演员会像这样出现
Actor[akka://singletonApplication/user/singleton]
我使用创建经理系统
ActorSystem system = ActorSystem.create("managerSystem");
但是当我尝试通过以下行引用远程演员时
system.actorSelection("akka.tcp://singletonApplication@127.0.0.1:2552/user/singleton");
它在对象中给了我这个
ActorSelection[Actor[akka://managerApplication/deadLetters]/user/singleton]
当我尝试向它发送一条消息时,它会在控制台中给我一个死信错误日志称呼。我是否需要在同一个系统中才能引用远程参与者?我认为这是使用 akka 的要点之一?