Прочитайте огромный набор результатов из HttpServiceClient и отобразите их кусками - PullRequest
0 голосов
/ 29 июня 2018

Я пишу приложение 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 Ответ

0 голосов
/ 29 июня 2018

Попробуйте реализовать нумерацию страниц. Обычно серверы позволяют возвращать ограниченное количество результатов, указав offset и limit.

При первом наборе номера

offset=0
limit=50

На следующий звонок

offset=51
limit=50

и так далее ...

Другой способ - использовать принудительное использование сервера с помощью WebSockets, но это будет более сложная реализация.

...