有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从HttpServiceClient读取一个巨大的结果集,并以块的形式显示它们

我正在编写一个Java应用程序,可以读取大量数据:

try {
    //Build the URL
    getMethod = new GetMethod(url);
    SimpleHttpResponseParser parser = new SimpleHttpResponseParser();
    httpServiceClient.getRequest(...); //This takes about 10 minutes
    List<ApiMessage> messages = objectMapper.readValue(parser.getHttpResponse()); //Convert the JSON Response into actual Java Object
    for (ApiMessage m : messages) {
        convertedMessages.add(ApiMessageMapper.map(m)); //Add each message to a more suitable data set to be painted later
    }
    //Return the data and such ...
}

这个请求需要很长时间才能处理。我不希望用户等待超过10分钟才能看到结果

有没有办法通过50个左右的结果集进行绘制,并在后台不断下载剩余的数据


共 (1) 个答案

  1. # 1 楼答案

    尝试实现分页。通常,服务器允许通过指定offsetlimit返回有限数量的结果

    在第一组通话中

    offset=0
    limit=50
    

    下一个电话

    offset=51
    limit=50
    

    等等

    另一种方法是使用WebSocket使用服务器推送,但这将是一个更复杂的实现