Java 如何在play framework 2.6中从CompletionStage获取json对象
我需要从以下代码中获取json对象Java 如何在play framework 2.6中从CompletionStage获取json对象,java,playframework,promise,playframework-2.6,completion-stage,Java,Playframework,Promise,Playframework 2.6,Completion Stage,我需要从以下代码中获取json对象 JsonObject request = HttpRequestProcessor.getJsonFromRequest(request().body()); ActorRef actorRef = ActorHandler.getActorReferenceOfParameterisedActor(AControllerTasksExecutor.class, new AControllersTaskContext(Facto
JsonObject request = HttpRequestProcessor.getJsonFromRequest(request().body());
ActorRef actorRef = ActorHandler.getActorReferenceOfParameterisedActor(AControllerTasksExecutor.class,
new AControllersTaskContext(FactoryType.USER_COMMAND_FACTORY, ObjectType.PURCHASE_SHARES));
CompletionStage<JsonObject> promise = PromiseHandler.getPromise(actorRef, request, 7000);
JsonObject response = null;
Result result = null;
try {
response = promise.get(70000);
log.debug(">> response object >> {}", response);
result = PlayResultHandler.getResult(response.get("status").getAsInt(), JsonHandler.parseJsonIntoString(response));
} catch (Exception e) {
}
public class PromiseHandler {
private final static Logger log = LoggerFactory.getLogger(PromiseHandler.class);
public static <B> CompletionStage<B> getPromise(ActorRef actorRef, Object msg, int time) {
log.debug("Preparing promise. ActorRef: {}, Message-Object: {}, time: {}", actorRef, msg, time);
CompletionStagev<B> prom = CompletionStage.wrap(ask(actorRef, msg, time)).map(new Function<Object, B>() {
@SuppressWarnings("unchecked")
public B apply(Object response) {
log.debug("In Apply method. Returning Response. Response-object: {}",response);
return (B) response;
}
});
return prom;
}
response = promise.get(70000);
我怎样才能得到我正在使用的json对象
response = promise.get(70000);
但它给
response = promise.get(70000);
cannot find symbol
[error] symbol: method get(int)
[error] location: variable promise of type java.util.concurrent.CompletionStage<com.google.gson.JsonObject>
[error] response = promise.get(70000);
找不到符号
[错误]符号:方法get(int)
[错误]位置:java.util.concurrent.CompletionStage类型的变量承诺
[error]response=promise.get(70000);
我怎样才能做到这一点?你能用你试图解析的JSON的摘录更新这个问题吗?这是我得到的编译时错误,在解析运行时发生的JSON之前,在我看来这行代码没有完成
ActorRef ActorRef=ActorHandler.getActorReference
,你能发布全文吗?我编辑了代码和AcontrollerTask actor,你能检查你的promise对象是否为null吗?你能用你试图解析的JSON的摘录更新这个问题吗?这是我得到的编译时错误,,在分析运行时发生的json之前,我觉得这行代码没有完成ActorRef-ActorRef=ActorHandler.getActorReference
,您可以发布完整的行吗?我已经编辑了代码和AcontrollerTask actor,您可以检查您的promise对象是否为null吗?
response = promise.get(70000);