У меня есть веб-служба Java, которая возвращает большой объем данных. Существует ли стандартный способ потоковой передачи ответа вместо того, чтобы пытаться сразу вернуть огромный кусок данных?
Отправка больших данных через веб-службу Java
Ответы (3)
Эта проблема аналогична старой проблеме с возвратом больших RSS-каналов. Вы можете сделать это, настроив запрос: http://host/myservice?start=0&count=100
или включив следующие/предыдущие URL-адреса в сам ответ.
Последний подход имеет массу преимуществ. Я поищу ссылку, которая описывает это, и опубликую здесь, если найду.
Я бы рассмотрел подход, подобный comet:
Из ВИКИ:
Comet — это модель веб-приложения, в которой длительный HTTP-запрос позволяет веб-серверу передавать данные в браузер без явного запроса браузера.
По сути, вместо того, чтобы отправлять большие данные сразу, позвольте вашему веб-серверу передавать данные в своем собственном темпе и в соответствии с вашими потребностями.
Веб-сервис может быть не лучшим методом для передачи данных.
На вашем месте я хотел бы настроить другую службу, например FTP или SFTP.
Сервер помещает данные по определенному пути FTP-сервера и отправляет информацию о пути клиенту через ответ веб-службы.