以前我使用Java Future对象和Await.result
来获取Akka actor的响应。这使我能够在Java 6代码库和Akka之间建立一个桥梁。
缺点:在长时间运行的任务中阻塞线程
我已经转移到Java 8,并且正在考虑使用非阻塞支持来用回调替换Await.Result
。从理论上讲,这将很有效。但是我注意到最新版本的Typesafe HelloAkka教程使用Java 8,Akka Inbox用于处理响应而不是Future;
答案 0 :(得分:0)
此Stackoverflow帖子中的两个回复都添加了可能回答您问题的上下文。收件箱(据我所知)只是使用期货和调用其他演员的替代方法,而是允许其他演员从外部询问你的收件箱(演员喜欢的对象)......见this。另外,看看Jamie Allen的“Cameo”模式。我在this Stackoverflow帖子上发布了一个粗略的例子。
答案 1 :(得分:0)
如果你想与外界建立桥梁,你打算如何使用收件箱?我猜你所拥有的只是演员的参考。
考虑像
这样的事情我会选择java的CompletableFuture作为界面,并在询问或告知操作后翻译akka的期货。