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


연결된 JMS 가져오기가 포함된 동적 호출

연결된 JMS(Java™ Message Service) 데이터 바인딩 가져오기가 포함된 엔드포인트의 동적 호출을 사용 가능하게 하는 방법에 대해 보여줍니다. 이 정보는 MQ JMS 바인딩 및 일반 JMS 바인딩에도 적용됩니다.

소개

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

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

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

SCA 공용 API를 사용하여 엔드포인트 주소를 대체할 수 있습니다. 다음 예제 코드에서 uri 값은 JMS URI 표준을 준수해야 합니다.
epr = EndpointReferenceFactory.INSTANCE.createEndpointReference();
epr.setAddress(uri);
epr.setBindingType(bindingType);
Service dynamicService = (Service) ServiceManager.INSTANCE.getService(refname, epr);
JMS URI의 접두부는 WebServices SOAP/JMS 엔드포인트 주소와 동일합니다. 바인딩 유형 속성을 엔드포인트 참조에 추가하여 올바른 엔드포인트 유형을 식별하십시오. JMS URI에 대해 바인딩 유형 속성을 지정하지 않으면 엔드포인트 참조가 JMS 가져오기에 연결되지 않는 한 주소가 SOAP/JMS 엔드포인트로 해석됩니다.

JMS 엔드포인트 표시

동적 호출에서 사용되는 JMS 엔드포인트는 JMS URI 표준에 따라 구조화됩니다.

즉, 표준에서 JMS URI는 다음 양식이어야 합니다.
구문 도표 읽기시각적 구문 도표 생략
>>-scheme--:--jms-variant--:--jms-dest--?--parameter-----------><

scheme
JMS URI의 설계는 항상 jms입니다.
jms-variant
jms-variant는 변형 jndi 사용과 같이 JMS 연결에 대해 추가 정보를 제공합니다.
jms-dest
JMS 대상 오브젝트를 식별하며 jms-variant에 대응해야 합니다.
parameter
parameter는 "="로 구분되는 키 값 쌍입니다. 유일하게 지원되는 키는 "jndiConnectionFactoryName"입니다. 이 키의 값은 연결 팩토리의 jndi 이름이어야 합니다. 이 매개변수의 사용은 선택적입니다.

보안 관리

JMS 연결 팩토리는 응용프로그램 관리 보안을 사용하며 컨테이너 관리 보안은 사용하지 않습니다. 즉, 컴포넌트 관리 인증 별명을 설정해야 합니다.

유효한 JMS URI의 예제는 다음과 같습니다.

jms:jndi:MyTargetQueueName?jndiConnectionFactoryName=MyConnectionFactoryName

전송 대상의 입력 이름 및 연결 팩토리가 서버에 이미 정의되어 있어야 합니다.

JMS 엔드포인트를 사용하여 동적 호출 작성

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

동적 호출 사용

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

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

다음 두 조건 중 하나에 해당하면 런타임 예외가 발생합니다.
  • URI에 유효하지 않은 구문이 있습니다.
  • 지정한 엔드포인트가 없습니다.

reference 참조 주제

이용약관 | 피드백


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


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