연결된 MQ 데이터 바인딩 가져오기가 포함된 엔드포인트의 동적 호출을 사용
가능하게 하는 방법에 대해 설명합니다.
소개
가져오기에 지정된 엔드포인트와 다른
엔드포인트를 사용하여 서비스를 호출할 수 있습니다.
MQ 바인딩의 경우 MQ URI 표준을 준수하는 URL을 사용하여
동적 엔드포인트를 지정할 수 있습니다.
그림 1. 연결된 가져오기를 사용하는 동적 호출을 통한 엔드포인트 대체에 대한
설명
WebSphere® Integration Developer에서
타스크를 수행하여 동적 엔드포인트를 포함하는 중개 모듈을 작성할 수 있습니다.
엔드포인트 주소의 프로그램화된 대체
SCA 공용 API를 사용하여 엔드포인트 주소를 대체할 수 있습니다.
다음 예제 코드에서
uri 값은 MQ URI 표준을 준수해야 합니다.
epr = EndpointReferenceFactory.INSTANCE.createEndpointReference();
epr.setAddress(uri);
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 엔드포인트가 포함된 동적 호출 작성
동적 엔드포인트를 포함한 중개
모듈을 작성하려면 다음 타스크를 수행하십시오.
- 가져오기에 연결된 POJO가 포함된 모듈 1을 작성하십시오.
- POJO 2에 연결된 내보내기 2가 포함된 모듈 2를 작성하십시오.
- POJO 3에 연결된 내보내기 3이 포함된 모듈 3을 작성하십시오.
- 메시지가 내보내기 2로 라우트되도록 가져오기를 구성하십시오.
- 내보내기 2와 내보내기 3의 포트 유형이 동일한지 확인하십시오.
- 세 개의 모듈을 서버로 전개하십시오.
동적 호출 사용
메시지에서 엔드포인트로 식별되는 내보내기 3으로 POJO가 호출될 때 동적 호출이 수행됩니다.
POJO는 메시지에서 엔드포인트를 추출하고 원래 전개에 지정된 내보내기 2 엔드포인트 대신 내보내기
3을 엔드포인트로 식별합니다.
POJO는 메시지에서 엔드포인트로 지정되는 원격 서비스를 호출하기 위해 SCA EPR API 및 가져오기에
연결된 참조를 사용합니다.
서비스가 호출되면 POJO에 응답이 리턴됩니다.
단방향 호출 메시지는 응답 메시지가 리턴되지 않는 점을 제외하면 양방향 메시지와 동일하게 작동합니다.
엔드포인트에 대해 비어 있거나 누락된 인수가 포함된 채로 POJO가 호출되면 기본 호출이 사용되며
내보내기 2 및 POJO가 호출됩니다.
다음 두 조건 중 하나라도 해당하는 경우에는 런타임 예외가 발생합니다.
- URI에 유효하지 않은 구문이 있습니다.
- 지정한 엔드포인트가 없습니다.