![[z/OS]](../images/ngzos.gif)
WebSphere MQ를 메시징 제공자로 사용하는 ASF 메시지 구동 Bean의 메시징 플로우
ASF(Application Server Facilities)는 JMS 스펙에 대한 선택적 ASF 확장이 포함된 메시징 제공자와 함께 사용됩니다. z/OS®에서 이 확장은 WebSphere MQ 메시징 제공자로 구현됩니다. WebSphere® Application Server 버전 7.0에서부터는 JCA가 이전의 ASF 기술에 비해 선호됩니다.
WebSphere Application Server의 메시지 구동 Bean에 대한 ASF 지원은 메시지 리스너 서비스로 알려져 있습니다. ASF 메시지 구동 Bean 애플리케이션을 설치할 때 구성 정보를 메시지 리스너 포트로 제공합니다.

- 지속 불가능한 등록을 제외한 모든 메시지 소스의 경우 메시지 리스너는 제어 영역(즉, 이 메시지의 제어기에서 청취)에서 실행됩니다.
- 지속 불가능한 등록의 경우에는 메시지 리스너가 하위 영역(SR) 즉, 이 메시지의 하위(servant)에서 청취에서 실행됩니다.
제어기에서 청취
다음 그림은 메시지 리스너가 제어기에서 청취 중일 때의 WebSphere MQ ASF 메시징 플로우를 보여 줍니다.
z/OS WebSphere Application Server에서, ASF는 메시지 구동 Bean 리스너가 CR에 있으며 SR의 메시지 구동 Bean 디스패처에 작업이 분배되는 메시지 구동 처리를 지원합니다. 공개-등록의 경우 각 SR에 대한 별도의 등록이 아닌, 전체 서버에 대한 임의의 등록을 등록하는 리스너가 있음에 유의하십시오.

- 메시지가 JMS 대상(그림에 WebSphere MQ 큐로 표시됨)에 도착하면 리스너는 메시지 사본을 수신합니다. 리스너는 대상에서 메시지를 삭제하지 않습니다.
- 리스너는 메시지에 대한 트랜잭션 클래스를 판별하고 z/OS 워크로드 관리(WLM)를 사용하여 메시지 토큰(실제 메시지가 아님)을 SR에 전달합니다. 워크로드 관리는 트랜잭션 클래스에 기초하여 해당 SR을 선택합니다.
- 디스패처는 메시지 토큰을 사용하여 메시지를 수신한 후 메시지 구동 Bean의 onMessage 메소드에 이를 전달합니다. 디스패처는 대상에서 메시지를 삭제합니다.
하위(servant)에서 청취
다음 그림은 메시지 리스너가 하위 영역에서 청취 중일 때의 WebSphere MQ ASF 메시징 플로우를 보여 줍니다.
그림에는 메시지 구동 Bean 리스너와 메시지 구동 Bean 디스패처가 모두 동일한 SR에서 실행되는 특수 형태의 ASF 메시지 구동 Bean 처리가 표시됩니다. WebSphere Application Server는 지속 불가능한 발행-등록 메시징에 이 구성을 사용합니다. 각 SR은 자체 등록을 등록해서 잠재적으로 한 서버에서 동일한 공개의 여러 사본(즉, 각 SR의 동일한 공개에 대한 하나의 사본)을 수신하고 처리합니다.

- 메시지가 대상(그림에 WebSphere MQ 큐로 표시됨)에 도착하면 리스너는 메시지 사본을 수신합니다. 리스너는 대상에서 메시지를 삭제하지 않습니다.
- 리스너는 z/OS WLM을 사용하여 메시지 토큰을 다시 동일한 SR로 전달하는 코드를 CR에서 호출합니다.
- 디스패처는 메시지 토큰을 사용하여 메시지를 수신한 후 메시지 구동 Bean의 onMessage 메소드에 이를 전달합니다. 디스패처는 대상에서 메시지를 삭제합니다.