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

时间:2013-05-04 07:49:38

标签: java playframework playframework-2.1

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

Future {
  // Some blocking or expensive code here
}(Contexts.myExecutionContext)

我可以获得excutionContext,如:

ExecutionContext myExecutionContext = Akka.system().dispatchers().lookup("my-context");

但是如何在代码中添加它呢?

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);
           }
        })  

1 个答案:

答案 0 :(得分: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);
              }
            })
    );