从系统外部与Akka Actor通信的多种方式?

时间:2015-07-24 14:16:54

标签: java akka actor

我的印象是,与外部 ActorSystem与Akka演员沟通的唯一方法是通过Inbox。但是我刚发现this snippet from Akka's own documentation显示:

greeter.tell(new WhoToGreet("akka"), ActorRef.noSender());
inbox.send(greeter, new Greet());

那是哪个?实际上是否可以直接tell来自外部世界的演员,或者Typesafe有没有粗心的实习生为他们写文档?!?

如果有可能,那么你什么时候应该这样做,何时应该使用Inbox例如,一种方法是“即发即忘”异步/非阻塞和其他同步/阻塞?

2 个答案:

答案 0 :(得分:1)

您可以安全地从演员外部发送消息。 Akka将填写虚拟发件人。您将无法收到任何回复(尽管您可以使用ask)。

答案 1 :(得分:1)

Inboxrelatively recent Actor DSL API的一部分,它是#34;在创建演员的常用方法之上的一些不错的糖#34;。您可以使用标准方式创建/与演员通信或使用Actor DSL。他们都是异步的。 Actor DSL非常适合创建一次性演员,其生命周期是一种方法。在Scala中,DSL语法的优势更加明显。

相关问题