WS-ReliableMessaging을 통해 트랜잭션 복구 가능한 메시징 제공
WS-ReliableMessaging 애플리케이션이 웹 컨테이너 내부에서 실행되고 관리 서비스 품질(QoS)을 사용하는 경우 WS-ReliableMessaging을 사용하여 트랜잭션 복구 가능한 메시징을 제공할 수 있습니다.
이 태스크 정보
WS-ReliableMessaging
트랜잭션 모델은 다음과 같습니다.
- 웹 서비스 요청자 측에서 트랜잭션은 애플리케이션 및 로컬 관리 저장소 사이에 존재합니다.
- WS-ReliableMessaging 프로토콜은 웹 서비스 제공자 측으로 메시지를 전달합니다. 여기서는 두 번째 관리 저장소와 디스패치 중인 애플리케이션 사이에서 서로 다른 트랜잭션을 사용합니다.
단방향 메시지 전송에서 아웃바운드(요청자) 케이스인 경우 enableTransactionalOneWay 특성이 true로 설정되면 애플리케이션 스레드에서 현재 보유한 트랜잭션 컨텍스트에서 전송이 수행됩니다. (트랜잭션은 아웃바운드 양방향 메시지 교환에서 지원되지 않습니다.)
인바운드(제공자) 케이스인 경우 inOrderDelivery 특성이 true로 설정되면 인바운드 메시지는 트랜잭션 아래 애플리케이션으로 디스패치됩니다. 인바운드 양방향 메시지 교환의 경우 해당 트랜잭션 아래에서도 응답이 생성되고 트랜잭션을 커미트할 때까지 응답이 전송되지 않습니다.
참고:
WS-ReliableMessaging 트랜잭션은 WS-AtomicTransactions 프로토콜을
사용하지 않습니다. 이러한 두 개의 프로토콜 사이의 관계는 다음과 같습니다.
자세한 정보는
WS-AtomicTransactions의 내용을 참조하십시오. - WS-AtomicTransactions 및 WS-ReliableMessaging은 WS-ReliableMessaging이 관리되는 저장소로 트랜잭션 회복 가능한 메시징을 제공하기 위해 사용될 때 상호적으로 독점적입니다.
- WS-ReliableMessaging이 인메모리 저장소를 사용하기 위해 구성되면, WS-AtomicTransaction이 신뢰할 수 있는 메시징 소스와 양방향 호출을 위한 신뢰할 수 있는 메시징 목적지 사이에 유동될 수 있는 경우가 있습니다. 이 경우, WS-ReliableMessaging은 서버 고장이 아닌 네트워크 고장에 대해서만 보호합니다.
WS-ReliableMessaging을 통해 트랜잭션 복구 가능한 메시지를 제공하려면 WS-ReliableMessaging를 통해 웹 서비스에 대한 안전한 전달 추가에서 설명한 단계를 진행하고 다음 추가 단계도 완료하십시오.
프로시저
- 아웃바운드(요청자) 단방향 메시지 전송에 대한 트랜잭션 메시징을 사용하려면 JAX-WS 웹 서비스 애플리케이션을 개발할 때 jaxWS 요청자 컨텍스트 맵에서 enableTransactionalOneWay 특성을 Boolean.TRUE(또는 문자열 true)로 설정하십시오.
- 인바운드(제공자) 단방향 및 양방향 메시지 교환을 위해 트랜잭션 메시징을 사용하려면 WS-ReliableMessaging 정책을 구성할 때 관리 콘솔을 사용하여 전송 순서대로 메시지 전달 옵션을 선택하거나 제공자 도구를 사용하여 inOrderDelivery 특성을 true로 설정하십시오.