나는 아파치 CXF에 익숙하지 않지만, 다음은 모든 자바 서블릿 기반 프레임 워크에 적용되어야한다.
사용자가 연결을 끊었는지 (중지 단추, 닫힌 브라우저 등) 확인하기 위해 서버는 패킷을 보내야합니다. TCP/IP 연결이 닫힌 경우 IOException
이 발생합니다.
이론적으로 Java 응용 프로그램은 처리 중에 다양한 지점에서 공백 문자를 보낼 수 있습니다. IOException
은 클라이언트가 사라지고 처리가 중단 될 수 있음을 알립니다.
그러나,이 기술에 몇 가지 문제가 될 수 있습니다 처리 중 문자를 보내는
는 응답이 "헌신"원인이 될 것이다, 그래서 HTTP 헤더, 쿠키 등을 설정하는 것은 불가능 할 수있다 . 장기 실행 서버 측 처리 결과에 따라.
출력 스트림을 버퍼링하면 공백 문자가 즉시 전송되지 않으므로 적절한 테스트를 수행 할 수 없습니다. 대안으로 flush()
을 사용할 수 있습니다.
주어진 프레임 워크 또는 뷰 기술 (JSP 등)에 대해이 기술을 구현하는 것이 어려울 수 있습니다. 예를 들어, 페이지 렌더링 코드는 응답이 커밋 된 후 콘텐츠 유형을 전송할 수 없습니다.