如何在Akka中获取actor对类型actor实现的引用?

时间:2014-02-24 16:29:21

标签: scala akka

对于Akka 2.2,我如何获得对TypedActor的引用。对于无类型的Actors,我们建议使用ActorSelection,然后在ActorSelection上使用tell。我该怎么做TypedActor?

1 个答案:

答案 0 :(得分:2)

我不使用打字的演员,但是我会根据文档和一些猜测工作来回答这个问题。我不相信Typed Actors和ActorSelection直接合作。如果您考虑ActorSelection,它实际上是0到多个实际ActorRef的代理,它们匹配产生它的actorSelection调用中使用的任何查询。如果要将相同的消息广播到一组actor,则此选择适用于无类型的actor。坐在前面的类型代理似乎没什么意义,因为我想不出大量的用例,你想要缩小打字类型并广播到一组可能的目的地并可能接收响应(即ask )。

现在,如果您有一个ActorSelection,并且想要查询其下的单个参考的选择(使用IdentifyresolveOne),那么您将获得{ {1}},然后您可以像这样在其前面捕捉一个类型化的actor代理:

ActorRef

这种技术基本上需要查找无类型的actor并将其缩小为 val typedActor = TypedActor(system).typedActorOf(TypedProps[MyTypedActor],myLookedUpRef) ,您现在可以通过TypedActor界面与之通信。

您可以详细了解TypedActor s here以及有关解决TypedActor s here的更多信息。

相关问题