43.4. 프로토콜 처리기 구현


43.4.1. 개요

프로토콜 처리기는 사용 중인 프로토콜에 따라 다릅니다. Apache CXF는 Cryostat-WS에서 지정한 대로 Cryostat 프로토콜 처리기를 제공합니다. Cryostat 프로토콜 처리기는 javax.xml.ws.handler.soap.SOAPHandler 인터페이스를 구현합니다.

예 43.8. “CryostatHandler Synopsis” 에 표시된 CryostatHandler 인터페이스는 message에 대한 액세스를 Cryostat Message 오브젝트로 제공하는 Cryostat 특정 메시지 컨텍스트를 사용합니다. 또한 Cryostat 헤더에 액세스할 수 있습니다.

예 43.8. CryostatHandler Synopsis

public interface SOAPHandler extends Handler
{
  boolean handleMessage(SOAPMessageContext context);
  boolean handleFault(SOAPMessageContext context);
  void close(SOAPMessageContext context);
  Set<QName> getHeaders()
}

Cryostat 특정 메시지 컨텍스트를 사용하는 것 외에도 Cryostat 프로토콜 처리기에서는 getHeaders() 라는 추가 메서드를 구현해야 합니다. 이 추가 메서드는 처리기에서 처리할 수 있는 헤더 블록의 QNames를 반환합니다.

43.4.2. 프로세스

논리 핸드퍼를 구현하려면 다음을 수행합니다.

  1. 처리기에 필요한 모든 43.6절. “처리기 초기화” 논리를 구현합니다.
  2. 43.5절. “Cryostat 처리기에서 메시지 처리” 논리를 구현합니다.
  3. 43.7절. “오류 메시지 처리” 논리를 구현합니다.
  4. getHeaders() 메서드를 구현합니다.
  5. 완료되면 처리기에 대한 논리를 43.8절. “처리기 닫기” 에 구현합니다.
  6. 43.9절. “처리기 해제” 에 대한 모든 논리가 제거되기 전에 처리기의 리소스를 구현합니다.

43.4.3. getHeaders() 메서드 구현

예 43.9. “Cryo statHander.getHeaders() 메서드” 에 표시된 getHeaders() 는 Apache CXF 런타임에서 처리기가 처리하는 Loki 헤더를 알립니다. 처리기에서 이해할 수 있는 각 Cryostat 헤더의 외부 요소의 QNames를 반환합니다.

예 43.9. Cryo statHander.getHeaders() 메서드

set<QName&gt;getHeaders

대부분의 경우 null을 반환하는 것으로 충분합니다. 그러나 애플리케이션에서 ESP 헤더의 mustUnderstand 특성을 사용하는 경우 애플리케이션의 Cryostat 처리기에서 이해하는 헤더를 지정하는 것이 중요합니다. 런타임은 등록된 모든 핸들러가 mustUnderstand 특성이 true 로 설정된 헤더 목록에 대해 이해하는 Cryostat 헤더 집합을 확인합니다. 플래그가 지정된 헤더 중 하나라도 이해된 헤더 목록에 없는 경우 런타임은 메시지를 거부하고 CloudEvent가 예외를 이해해야 합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.