WSIFOperation - 비동기 상호작용 참조

WSIF(Web Services Invocation Framework)는 비동기 조작을 지원합니다. 이 조작 모드에서 클라이언트는 하나의 트랜잭션의 일부로 요청 메시지를 두고 실행의 스레드로 실행합니다. 개별 트랜잭션을 가진 응답 메시지가 다른 스레드에 의해 처리됩니다.

비동기 조작은 JMS 및 원시 JMS를 통해 SOAP에 대한 WSIF 제공자에 의해 지원됩니다.

WSIFPort 클래스는 supportsAsync 메소드를 사용하여 비동기 조작이 지원되는지 여부를 테스트합니다.

비동기 조작은 WSIFOperation 인터페이스 executeRequestResponseAsync 메소드로 시작됩니다. 이 메소드는 RPC(Remote Procedure Call) 메소드가 비동기적으로 호출되도록 합니다. 조작이 완료되기 전에 메소드가 리턴되지만 실행의 스레드는 계속됩니다.

비동기 요청에 대한 응답은 WSIFOperation 인터페이스 fireAsyncResponse 또는 processAsyncResponse 메소드에 의해 처리됩니다.

참고: Apache는 더 이상 WSIF를 지원하지 않습니다.
요청을 초기화하려면 executeRequestResponseAsync 메소드의 두 가지 양식이 있습니다.
  • public WSIFCorrelationId executeRequestResponseAsync 
                             (WSIFMessage input, WSIFResponseHandler handler)
  • public WSIFCorrelationId executeRequestResponseAsync (WSIFMessage input)
executeRequestResponseAsync(WSIFMessage input, WSIFResponseHandler handler)

이 메소드는 입력 메시지 및 WSIFResponseHandler 핸들러를 받습니다. 핸들러는 조작이 완료될 때 다른 스레드에서 호출됩니다. 이 메소드를 사용할 때, 클라이언트 리스너는 fireAsyncResponse 메소드를 호출합니다. 그런 다음, WSIFResponseHandler 인터페이스 executeAsyncResponse 메소드를 호출합니다.

executeRequestResponseAsync(WSIFMessage input)
이 메소드는 입력 메시지만 받고 응답 핸들러를 사용하지 않습니다. 클라이언트 리스너는 WSIFOperation 인터페이스 processAsyncResponse 메소드를 호출하여 응답을 처리합니다. 이 프로세스는 요청의 결과로 WSIFMessage 출력 및 결함 메시지를 업데이트합니다.

WSIF는 비동기 요청 및 응답 사이의 상관을 지원합니다. 요청이 전송될 때, WSIFOperation 오브젝트가 WSIFCorrelationService 오브젝트에 직렬화됩니다. executeRequestResponseAsync 메소드는 직렬화된 WSIFOperation 오브젝트를 식별하는 WSIFCorrelationId 오브젝트를 리턴합니다. 클라이언트 리스너는 이를 사용하여 특정 요청에 대한 응답과 일치시킬 수 있습니다.

상관 서비스는 org.apache.wsif.utils 패키지에서 WSIFCorrelationServiceLocator 클래스 getCorrelationService() 메소드로 발견됩니다.

관리 컨테이너에서 기본 상관 서비스가 이름(java:comp/wsif/WSIFCorrelationService)을 사용하여 기본 JNDI(Java™ Naming and Directory Interface) 네임스페이스에 정의됩니다. 이 상관 서비스를 사용할 수 없으면 WSIF는 WSIFDefaultCorrelationService를 사용합니다.

WSIFCorrelationService 인터페이스에 대한 자세한 정보는 WSIF와 함께 제공되는 생성된 API 문서를 참조하십시오.

이는 상관자 ID입니다.

 public interface WSIFCorrelator extends Serializable {
    public String getCorrelationId();
 }

클라이언트는 응답 메시지의 도착을 인식할 수 있도록 자체 응답 메시지 리스너 또는 메시지 데이터 기반을 구현해야 합니다. 이 클라이언트 구현은 비동기 응답 처리 메소드 중 하나의 요청 및 호출에 대한 응답 메시지의 상관을 관리합니다. 클라이언트 리스너에 대한 요구사항의 예제로서 다음 코드 단편이 JMS(Java Message Service) 리스너의 onMessage 메소드에 있을 수 있는 것을 표시합니다.

public void onMessage(Message msg) {
    	WSIFCorrelationService cs = WSIFCorrelationServiceLocator.getCorrelationService();
           WSIFCorrelationId cid = new JmsCorrelationId( msg.getJMSCorrelationID() );
           WSIFOperation op = cs.get( cid );
           op.fireAsyncResponse( msg );
}

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwsf_async
파일 이름:rwsf_async.html