как безопасно закрыть HTTP-соединение в java веб-приложении - PullRequest
0 голосов
/ 10 января 2020

Я хочу закрыть HTTP-соединение после отправки ответа, как мы делали в HTTP1.0.

Я создаю приложение отдыха, используя платформу весенней загрузки.

Теперь мы можем получить ссылку на текущее соединение, чтобы закрыть его, как показано в коде ниже:

  public static void sendErrorResponse(HttpServletResponse httpResponse, ResponseMessageEnum responseEnum,
            HttpStatus httpStatus) throws IOException {
        Response errorResponse = new esponse(responseEnum, httpStatus);
        String responseToSend = restResponseBytes(errorResponse);
        httpResponse.setHeader("Content-Type", "application/json");
        //httpResponse.setHeader("Connection", "close");
        httpResponse.setStatus(httpStatus.value());
        httpResponse.getOutputStream().write(responseToSend.getBytes());

        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        HttpConnection httCon = HttpConnection.getCurrentConnection();
        httCon.close();
    }

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

Но это не работает. Похоже, мы просто устанавливаем ответ и не отправляем его. Таким образом, соединение закрывается перед отправкой ответа.

Теперь я не могу понять, как можно изящно закрыть соединение после отправки ответа.

Любая помощь будет принята.

...