Какой лучший способ сделать ошибку после сброса порции данных в ServletOutputStream - PullRequest
0 голосов
/ 04 июля 2019

Итак, у меня есть сервлет, в ответ на который я записываю большой кусок данных.

Чтобы избежать загрузки всего фрагмента данных в память, я считываю данные в блоке и «сбрасываю»поток.(Даже если я этого не сделаю, servletresponse очистит буфер, если достигнут предел буфера).

Теперь, после очистки фрагментов данных, я получил ошибку при обработке следующего фрагмента данных.

Как отправить индикацию ошибки клиенту, так как статус уже отправлен клиенту и один набор данных уже установлен.

После принятия мы не можем изменить статус ответа, добавьтеновые заголовки согласно спецификации.

Есть предложения?

1 Ответ

0 голосов
/ 04 июля 2019

Нет пути.

Ваша лучшая альтернатива - записать во временный файл вместо тела ответа. Если во время этого шага возникает ошибка обработки, вы можете отправить ответ об ошибке так, как хотите. В противном случае вы можете безопасно передавать поток из временного файла в тело ответа.

Смотри также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...