21.2. WS-RM 인터셉터
21.2.1. 개요
Apache CXF에서 WS-RM 기능은 인터셉터로 구현됩니다. Apache CXF 런타임은 인터셉터를 사용하여 전송 및 수신 중인 원시 메시지를 가로채고 사용합니다. 전송이 메시지를 수신하면 메시지 개체를 생성하고 인터셉터 체인을 통해 해당 메시지를 보냅니다. 애플리케이션의 인터셉터 체인에 WS-RM 인터셉터가 포함된 경우 애플리케이션은 안정적인 메시징 세션에 참여할 수 있습니다. WS-RM 인터셉터는 메시지 청크의 수집 및 집계를 처리합니다. 또한 모든 승인 및 재전송 논리를 처리합니다.
21.2.2. Apache CXF WS-RM Interceptors
Apache CXF WS-RM 구현은 표 21.1. “Apache CXF WS-ReliableMessaging Interceptors” 에 설명된 4개의 인터셉터로 구성됩니다.
인터셉터 | 설명 |
---|---|
| 발신 메시지에 대한 신뢰성 보장을 제공하는 논리적 측면을 처리합니다.
애플리케이션 메시지에 대해 시퀀스 속성 ID 및 메시지 번호 집계를 담당합니다. |
|
애플리케이션 메시지에 대해 RM 프로토콜 메시지 및 |
| 영구 스토리지를 위해 들어오는 메시지를 캐싱합니다. |
| 애플리케이션에 메시지를 즉시 전달할 수 있도록 합니다. |
| 안정성 속성을#159 헤더로 인코딩 및 디코딩합니다. |
| 향후 재전송을 위해 애플리케이션 메시지의 사본 생성을 담당합니다. |
21.2.3. WS-RM 활성화
인터셉터 체인에 WS-RM 인터셉터가 있으면 필요한 경우 WS-RM 프로토콜 메시지를 교환합니다. 예를 들어 아웃바운드 인터셉터 체인에서 첫 번째 애플리케이션 메시지를 가로채는 경우 RMOutInterceptor
는 CreateSequence
요청을 전송하고 CreateSequenceResponse
응답을 수신할 때까지 원래 애플리케이션 메시지를 처리하도록 대기합니다. 또한 WS-RM 인터셉터는 애플리케이션 메시지에 시퀀스 헤더를 추가하고 대상 측에서 메시지에서 압축을 풉니다. 메시지를 안정적으로 교환하기 위해 애플리케이션 코드를 변경할 필요가 없습니다.
WS-RM을 활성화하는 방법에 대한 자세한 내용은 21.3절. “WS-RM 활성화” 을 참조하십시오.
21.2.4. WS-RM 속성 구성
구성을 통해 시퀀스 요약 및 신뢰할 수 있는 교환의 다른 측면을 제어합니다. 예를 들어 기본적으로 Apache CXF는 시퀀스의 수명을 최대화하여 대역 외 WS-RM 프로토콜 메시지에 의해 발생하는 오버헤드를 줄입니다. 애플리케이션 메시지마다 별도의 시퀀스를 사용하려면 WS-RM 소스의 시퀀스 종료 정책을 구성합니다(최대 시퀀스 길이를 1
로 설정).
WS-RM 동작 구성에 대한 자세한 내용은 21.5절. “WS-RM 구성” 을 참조하십시오.