58.3. 오류 후 축소 해제


58.3.1. 개요

인터셉터 체인을 실행하는 동안 오류가 발생하면 런타임은 인터셉터 체인을 트래버스하는 것을 중지하고 이미 실행된 체인에 있는 모든 인터셉터의 handleFault() 메서드를 호출하여 체인을 되돌립니다.

handleFault() 메서드는 일반 메시지 처리 중에 인터셉터가 사용하는 모든 리소스를 정리하는 데 사용할 수 있습니다. 메시지 처리가 성공적으로 완료된 경우에만 대기해야 하는 모든 작업을 롤백하는 데 사용할 수도 있습니다. 오류 메시지가 아웃바운드 오류 처리 인터셉터 체인에 전달되는 경우 handleFault() 메서드를 사용하여 결함 메시지에 정보를 추가할 수도 있습니다.

58.3.2. 메시지 페이로드 가져오기

handleFault() 메서드는 일반 메시지 처리에 사용되는 handleMessage() 메서드와 동일한 Message 오브젝트를 수신합니다. Message 오브젝트에서 메시지 내용을 가져오는 방법은 “메시지 콘텐츠 가져오기” 에 설명되어 있습니다.

58.3.3. 예

예 58.5. “감지되지 않은 인터셉터 체인 처리” 인터셉터 체인이 예기치 않은 경우 원래 XML 스트림이 메시지로 다시 배치되도록 하는 데 사용되는 코드를 표시합니다.Shows code used to ensure that the original XML stream is placed back into the message when the interceptor chain is unwound.

예 58.5. 감지되지 않은 인터셉터 체인 처리

@Override
public void handleFault(SoapMessage message)
{
  super.handleFault(message);
  XMLStreamWriter writer = (XMLStreamWriter)message.get(ORIGINAL_XML_WRITER);
  if (writer != null)
  {
    message.setContent(XMLStreamWriter.class, writer);
  }
}
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.