WebSphere Enterprise Service Bus, 버전 6.2.0 운영 체제: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


연결되지 않은 MQ 가져오기를 사용하는 동적 호출

연결되지 않은 MQ 데이터 바인딩 가져오기가 포함된 엔드포인트의 동적 호출을 사용 가능하게 하는 방법에 대해 설명합니다.

소개

가져오기에 지정된 엔드포인트와 다른 엔드포인트를 사용하여 서비스를 호출할 수 있습니다. MQ 바인딩의 경우 MQ URI 표준을 준수하는 URI를 사용하여 동적 엔드포인트를 지정할 수 있습니다.
그림 1. 연결되지 않은 가져오기를 사용하는 동적 호출을 통한 엔드포인트 대체에 대한 설명
메시지는 모듈 및 가져오기 바인딩을 통해 웹 서비스로 플로우됩니다. 메시지에 포함된 정보는 엔드포인트를 동적으로 대체할 수
있습니다.

WebSphere® Integration Developer에서 타스크를 수행하여 동적 엔드포인트를 포함하는 중개 모듈을 작성할 수 있습니다.

엔드포인트 주소의 프로그램화된 대체

모든 엔드포인트는 동일한 가져오기 바인딩 구성을 사용해야 합니다. POJO는 EPR에서 필요한 가져오기를 식별한 다음 SCA를 사용하여 호환 가능한 가져오기에 연결합니다.

SCA 공용 API를 사용하여 엔드포인트 주소를 대체할 수 있습니다. 다음 예제 코드에서 uri 값은 MQ URI 표준을 준수해야 합니다.
epr = EndpointReferenceFactory.INSTANCE.createEndpointReference();
epr.setAddress(uri);
epr.setImport(importName);
Service dynamicService = (Service) ServiceManager.INSTANCE.getService(refname, epr);

MQ 엔드포인트 표시

동적 호출에서 사용되는 MQ 엔드포인트는 MQ URI 표준 서브세트를 사용하여 구조화됩니다.

동적 호출의 경우 MQ 엔드포인트는 다음 양식의 URI여야 합니다.
구문 도표 읽기시각적 구문 도표 생략
>>-wmq:/msg/queue/--queueName--+-------+-----------------------><
                               '-@qmgr-'   

각 URI에서 queueName 및 선택적 대상 큐 관리자 qmgr은 가져오기 바인딩에 지정된 대상 큐를 대체합니다.
유효한 MQ URI의 예제는 다음과 같습니다.
wmq:/msg/queue/queueName 
wmq:/msg/queue/queueName@qmgr 

MQ 엔드포인트가 포함된 동적 호출 작성

동적 엔드포인트를 포함한 중개 모듈을 작성하려면 다음 타스크를 수행하십시오.
  1. POJO 및 연결되지 않은 가져오기가 포함된 모듈 1을 작성하십시오.
  2. POJO 2에 연결된 내보내기 2가 포함된 모듈 2를 작성하십시오.
  3. POJO 3에 연결된 내보내기 3이 포함된 모듈 3을 작성하십시오.
  4. 메시지가 내보내기 2로 라우트되도록 가져오기를 구성하십시오.
  5. 내보내기 2와 내보내기 3의 포트 유형이 동일한지 확인하십시오.
  6. 세 개의 모듈을 서버로 전개하십시오.

동적 호출 사용

대상 가져오기 및 메시지에서 엔드포인트로 식별되는 내보내기 3으로 POJO가 호출될 때 동적 호출이 수행됩니다. POJO는 SCA EPR API를 사용하여 가져오기를 해석합니다. POJO는 메시지에서 엔드포인트를 추출하고 원래 가져오기에 지정된 내보내기 3 엔드포인트 대신 내보내기 1을 엔드포인트로 식별합니다. POJO는 메시지에 지정된 대상 가져오기를 통해 메시지에서 엔드포인트로 지정된 원격 서비스를 호출합니다. 서비스가 호출되면 POJO에 응답이 리턴됩니다.

단방향 호출 메시지는 응답 메시지가 리턴되지 않는 점을 제외하면 양방향 메시지와 동일하게 작동합니다.

엔드포인트에 대해 비어 있거나 누락된 인수가 포함된 채로 POJO가 호출되면 기본 호출이 사용되며 내보내기 2 및 POJO가 호출됩니다.

다음과 같은 세 조건 중 하나라도 해당하는 경우에는 런타임 예외가 발생합니다.
  • URI에 유효하지 않은 구문이 있습니다.
  • 지정한 대상 가져오기가 없습니다.
  • 지정한 엔드포인트가 없습니다.

reference 참조 주제

이용약관 | 피드백


시간소인 아이콘 마지막 갱신 날짜: 09 7월 2010


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/ref/rwesb_dynamicroutingwithUnwiredMQimport.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
이 Information Center는 Eclipse 기술로 구현됩니다. (http://www.eclipse.org)