Akka系统按类选择演员

时间:2015-07-16 15:06:20

标签: scala akka actor

是否可以将消息发送给某些演员只选择特定类型的类?

这里是按路径选择演员的代码:

Akka.system.actorSelection("/path")

1 个答案:

答案 0 :(得分:3)

这是不可能的,因为演员是由他们的命名位置和他们处理的消息定义的。这就是ActorSelection只能解析为ActorRef(无论是使用Identify还是.resolveOne),从不背叛实施的原因。

这种安排的好处是任何参与者都可以用不同的实现,路由器,代理等替换,以适应处理消息的不断变化的需求。这也是您发送和接收消息而不是调用方法的原因,以便消息的接收者和任何最终的回复消息甚至不会绑定到同一个actor。

如果您希望为您的演员提供基于类的查找,最好的方法是自己设置一个注册表演员,通知演员创建并保留该信息,以便您可以查询它。