1.结果获取入口
结果获取的入口是在StatementResource中,客户端发送http请求,由getQueryResult方法响应,代码如下:
@GET
@Path("{queryId}/{token}")
@Produces(MediaType.APPLICATION_JSON)
public Response getQueryResults(
@PathParam("queryId") QueryId queryId,
@PathParam("token") long token,
@QueryParam("maxWait") Duration maxWait,
@Context UriInfo uriInfo)
throws InterruptedException
{
Query query = queries.get(queryId);
if (query == null) {
return Response.status(Status.NOT_FOUND).build();
}
Duration wait = WAIT_ORDERING.min(MAX_WAIT_TIME, maxWait);
return getQueryResults(query, Optional.of(token), uriInfo, wait);//在该方法中获取到一个QueryResults对象,使用Response的ok方法构造一个ResponseBuilder对象