21.2. WS-RM 인터셉터
21.2.1. 개요
Apache CXF에서는 WS-RM 기능이 인터셉터로 구현됩니다. Apache CXF 런타임은 인터셉터를 사용하여 전송 및 수신되는 원시 메시지를 가로채고 작업합니다. 전송에서 메시지를 수신하면 메시지 오브젝트를 생성하고 인터셉터 체인을 통해 해당 메시지를 전송합니다. 애플리케이션의 인터셉터 체인에 WS-RM 인터셉터가 포함된 경우 애플리케이션은 신뢰할 수 있는 메시징 세션에 참여할 수 있습니다. WS-RM 인터셉터는 메시지 청크의 수집 및 집계를 처리합니다. 또한 모든 승인 및 재전송 논리를 처리합니다.
21.2.2. Apache CXF WS-RM 인터셉터
Apache CXF WS-RM 구현은 4개의 인터셉터로 구성되어 있으며, 이는 표 21.1. “Apache CXF WS-ReliableMessaging Interceptors” 에 설명되어 있습니다.
인터셉터 | 설명 |
---|---|
| 발신 메시지에 대한 신뢰성 보장을 제공하는 논리적인 측면을 다룹니다.
애플리케이션 메시지의 시퀀스 속성-ID 및 메시지 번호 집계를 담당합니다.Also responsible for agggregating the sequence properties-ID and message number-for an application message. |
|
애플리케이션 메시지에서 금지된 RM 프로토콜 메시지 및 |
| 영구 스토리지의 수신 메시지를 캐싱합니다. |
| 애플리케이션에 대한 InOrder 메시지 제공. |
| 신뢰성 속성을 SOAP 헤더로 인코딩 및 디코딩해야 합니다. |
| 나중에 다시 전송할 수 있도록 애플리케이션 메시지의 복사본을 생성합니다. |
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 구성” 을 참조하십시오.