Playframework 使用Akka actor的play WS 2.5.x

Playframework 使用Akka actor的play WS 2.5.x,playframework,java-8,akka,httpclient,playframework-2.5,Playframework,Java 8,Akka,Httpclient,Playframework 2.5,我将akka与java结合使用,并在akka参与者中寻找使用异步播放WS-api的方法 在播放WS 2.4.x时,方法WSRequest.get返回一个F.Promise,该F.Promise可以很容易地转换为Scala Future,然后通过akka.pattern.Patterns.pipe传输到某个akka参与者,以便将http响应作为akka消息接收 在play WS 2.5.x中,方法WSRequest.get返回一个CompletionStage,我不知道如何将它传递给Akka参与者

我将akka与java结合使用,并在akka参与者中寻找使用异步播放WS-api的方法

在播放WS 2.4.x时,方法WSRequest.get返回一个F.Promise,该F.Promise可以很容易地转换为Scala Future,然后通过akka.pattern.Patterns.pipe传输到某个akka参与者,以便将http响应作为akka消息接收

在play WS 2.5.x中,方法WSRequest.get返回一个CompletionStage,我不知道如何将它传递给Akka参与者

那么,如何在Akka actor中正确使用play WS 2.5.x api呢?

来自:

而Play 2.4是针对Scala 2.10和Scala进行交叉编译的 2.11,此新版本的Play仅适用于Scala 2.11。放弃Scala 2.10支持的原因是Play有一个新的库 依赖于scala-java8-compat,它仅适用于scala 2.11. 这个库使得从普通Scala和Java8类型到普通Scala和Java8类型的转换变得很容易,因此简化Play core非常有价值。 此外,您还可以在自己的游戏中使用它 项目例如,如果您需要在将来转换Scala实例 进入Java CompletionStage或其他方式

我很肯定:

import static scala.compat.java8.FutureConverters.*;

...

final Promise<String> p = promise();
final Future<String> sf = p.future();
final CompletionStage<String> cs = toJava(sf);
Future<String> sf1 = toScala(cs);