Закрытие множественного запроса OutputStream в Spring MVC Project - PullRequest
0 голосов
/ 12 декабря 2018

Я новичок в Spring MVC и пытаюсь понять, возможно ли это.Поэтому, если я выполняю один запрос, и этот запрос занимает около 1 минуты для обработки перед записью в OutputStream из объекта HttpServletResponse, то я делаю другой запрос, который занимает всего 15 секунд, и записывает в OutputStream.Каждый запрос разделяет один и тот же OutputStream?В настоящее время я получаю сообщение об ошибке, и думаю, что это потому, что второй запрос закрывает OutputStream.Это ошибка "java.net.SocketException: программное обеспечение вызвало прерывание соединения: ошибка записи в сокет"

private static final String APPLICATION_EXCEL = "application/vnd.ms-excel";

@RequestMapping(value = "/a", method = RequestMethod.GET, produces = APPLICATION_EXCEL)
public @ResponseBody
void downloadA(HttpServletResponse response) throws IOException {
    response.setContentType(APPLICATION_EXCEL);
    response.setHeader("Content-Disposition", "attachment; filename=" + "a.xlsx");
    HSSFWorkbook workbook1 = new HSSFWorkbook();
    //long task...
    ServletOutputStream outputStream = response.getOutputStream();
    workbook1.write(outputStream);
    workbook1.close();
}


@RequestMapping(value = "/b", method = RequestMethod.GET, produces = APPLICATION_EXCEL)
public @ResponseBody
void downloadB(HttpServletResponse response) throws IOException {
    response.setContentType(APPLICATION_EXCEL);
    response.setHeader("Content-Disposition", "attachment; filename=" + "b.xlsx");
    HSSFWorkbook workbook1 = new HSSFWorkbook();
    ServletOutputStream outputStream = response.getOutputStream();
    workbook1.write(outputStream);
    workbook1.close();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...