玩框架2,如何在Java中使用执行上下文?

Mar*_*k_H 4 java playframework playframework-2.1

官方文档仅描述了如何在scala中使用它.http://www.playframework.com/documentation/2.1.0/ThreadPools.

Future {
  // Some blocking or expensive code here
}(Contexts.myExecutionContext)
Run Code Online (Sandbox Code Playgroud)

我可以得到excutionContext,如:

ExecutionContext myExecutionContext = Akka.system().dispatchers().lookup("my-context");
Run Code Online (Sandbox Code Playgroud)

但是如何在代码中加入呢?

return async(
    future(new Callable<String>() {
        public String call() {
              return doSth();
        }).map(new F.Function<String,Result>() {
           public Result apply(String i) {
              return ok(i);
           }
        })  
Run Code Online (Sandbox Code Playgroud)

Mar*_*k_H 5

我认为答案应该是:

    ExecutionContext myExecutionContext = Akka.system().dispatchers().lookup("my-context");
    return async(
            Akka.asPromise(Futures.future(new Callable<String>() {
              public String call() {
                return doSth();
              }   
            }, myExecutionContext)).map(new F.Function<String,Result>() {
              public Result apply(String i) {
                return ok(i);
              }
            })
    );
Run Code Online (Sandbox Code Playgroud)