我有一个ActorSystem(例如A),它产生其他ActorSystem(例如B)。当B出现时,它知道A的地址并执行cluster.join()。一旦集群加入,演员就可以相互通信。
在我的场景中:
- 我有一个REST请求到Spray框架来生成一个新的ActorSystem。
- 在请求处理程序中,我向ActorSystem A询问(?)
- “A”接收消息,我将询问(?)请求的地址存储到DB。这是一个像“akka:// ActorSystemA / temp / $ a”这样的临时演员
- “A”使用ActorSystem“B”生成一个新的JVM
- 一旦“B”出现并且“A”获得MemberUp消息。我从DB中选择ask temporary actorRef并尝试使用类似的东西发送回复
context.actorSelection(“akka:// ActorSystemA / temp / $ a”).resolveOne(3.seconds)!成功
但它不起作用。它总是超时
我尝试在临时演员上添加一个手表。演员没有被终止,但我无法沟通。
这种方法是否正确?另外,为什么我总是得到超时。