13장. JMS Over JMS 사용
초록
Apache CXF는 W3C 표준 Cryostat/JMS 전송을 구현합니다. 이 표준은 Cryostat/HTTP 서비스에 대한 보다 강력한 대안을 제공하기 위한 것입니다. 이 전송을 사용하는 Apache CXF 애플리케이션은 Cryostat/JMS 표준을 구현하는 애플리케이션과 상호 운용할 수 있어야 합니다. 전송은 끝점의 WSDL에서 직접 구성됩니다.
참고: JMS 1.0.2 API에 대한 지원이 CXF 3.0에서 제거되었습니다. RedHat JBoss Fuse 6.2 이상을 사용하는 경우(CXF 3.0 포함) JMS 공급자는 JMS 1.1 API를 지원해야 합니다.
13.1. 기본 설정
13.1.1. 개요
JMS 프로토콜을 통한 Cryostat는 대부분의 서비스에서 사용하는 사용자 지정 Cryostat/HTTP 프로토콜에 보다 안정적인 전송 계층을 제공하는 방법으로 W3C(W3C)에서 정의합니다. Apache CXF 구현은 사양을 완전히 준수하며 준수하는 모든 프레임워크와 호환되어야 합니다.
이 전송에서는 JNDI를 사용하여 JMS 대상을 찾습니다. 작업이 호출되면 요청은 Cryostat 메시지로 패키지되고 JMS 메시지의 본문에 지정된 대상으로 전송됩니다.
Cryostat/JMS 전송을 사용하려면 다음을 수행합니다.
- 전송 유형이 Cryostat/JMS인지 지정합니다.
- JMS URI를 사용하여 대상 대상을 지정합니다.
- 선택적으로 JNDI 연결을 구성합니다.
- 선택적으로 추가 JMS 구성을 추가합니다.
13.1.2. JMS 전송 유형 지정
WSDL 바인딩을 지정할 때 JMS 전송을 사용하도록 Cryostat 바인딩을 구성합니다. soap:binding
요소의 transport
속성을 http://www.w3.org/2010/soapjms/
로 설정합니다. 예 13.1. “JMS 바인딩 사양을 통한 Cryostat” Cryostat/JMS를 사용하는 WSDL 바인딩을 표시합니다.
예 13.1. JMS 바인딩 사양을 통한 Cryostat
<wsdl:binding ... > <soap:binding style="document" transport="http://www.w3.org/2010/soapjms/" /> ... </wsdl:binding>
13.1.3. 대상 대상 지정
끝점에 대한 WSDL 포트를 지정할 때 JMS 대상 대상의 주소를 지정합니다. Cryostat/JMS 엔드포인트의 주소 사양은 Cryostat/HTTP 끝점과 동일한 soap:address
요소 및 속성을 사용합니다. 차이점은 주소 사양입니다. JMS 끝점은 JMS 1.0의 URI 스키마에 정의된 대로 JMS URI를 사용합니다. 예 13.2. “JMS URI 구문” JMS URI의 구문을 표시합니다.
예 13.2. JMS URI 구문
jms:variant:destination?options
표 13.1. “JMS URI 변형” JMS URI에 사용 가능한 변형을 설명합니다.
변형 | 설명 |
---|---|
JNDI | 대상 이름이 JNDI 큐 이름임을 지정합니다. 이 변형을 사용하는 경우 JNDI 공급자에 액세스하기 위한 구성을 제공해야 합니다. |
jndi-topic | 대상 이름이 JNDI 주제 이름임을 지정합니다. 이 변형을 사용하는 경우 JNDI 공급자에 액세스하기 위한 구성을 제공해야 합니다. |
대기열 |
대상이 JMS를 사용하여 확인된 큐 이름임을 지정합니다. 제공된 문자열은 |
주제 |
대상이 JMS를 사용하여 확인된 주제 이름임을 지정합니다. 제공된 문자열은 |
JMS URI의 옵션 부분은 전송을 구성하는 데 사용되며 13.2절. “JMS URI” 에서 설명합니다.
예 13.3. “Cryostat/JMS 엔드 포인트 주소” JNDI를 사용하여 대상 대상이 조회되는 Cryostat/JMS 끝점에 대한 WSDL 포트 항목을 표시합니다.
예 13.3. Cryostat/JMS 엔드 포인트 주소
<wsdl:port ... > ... <soap:address location="jms:jndi:dynamicQueues/test.cxf.jmstransport.queue" /> </wsdl:port>
13.1.4. JNDI 및 JMS 전송 구성
Cryostat/JMS는 JNDI 연결 및 JMS 전송을 구성하는 여러 가지 방법을 제공합니다.