활성화 스펙 또는 WebSphere MQ 버전 7.x에 연결된 ASF 리스너 포트를 사용한 엄격한 메시지 순서 지정
엄격한 메시지 순서 지정은 무작위로 도착하는 메시지를 처리하기 위한 특수 기능이 애플리케이션으로 코드화되지 않은 경우 메시지 구동 Bean 애플리케이션을 WebSphere MQ 메시징 제공자에 배치할 때 수행할 수 있습니다.
WebSphere® Application Server 버전 7
이상의 경우 리스너 포트는 안정화되었습니다. 자세한 정보는 안정화된 기능에 대한 항목을 참조하십시오. 리스너 포트 사용에서 활성화 스펙 사용까지의 WebSphere MQ 메시지 구동 Bean 배치 구성을 마이그레이션해야 합니다. 비ASF 모드에 대한 활성화 스펙을 구성하는 방법에 대한 자세한 정보는 비ASF 모드에 대한 활성화 스펙 구성을 참조하십시오. 그러나 애플리케이션이 WebSphere Application Server 버전 7 이전의 애플리케이션 서버에서 작업할 필요가 없음을 확신할 때까지 이러한 마이그레이션을 시작하지 않아야 합니다.
예를 들어, 버전 6.1의 일부 멤버와 이후 버전의 일부 멤버를 사용하는 애플리케이션 서버 클러스터가 있는 경우 클러스터의 모든 애플리케이션 서버를 이후 버전으로 마이그레이션하기 전에는 활성화 스펙을 사용하기 위해 해당 클러스터의 애플리케이션을 마이그레이션하지 않아야 합니다.
이 시나리오에서는 다음과 같이 가정합니다.
- MDB(메시지 구동 Bean) 애플리케이션이 트랜잭션입니다.
- WebSphere MQ 큐의 백아웃 임계값(BOTHRESH)이 0으로 설정되어 있습니다.
- WebSphere MQ 버전 7.0 이상을 사용하고 있습니다.
순서 지정된 전달을 위한 WebSphere Application Server 구성
- WebSphere MQ 큐 관리자가 WebSphere MQ 버전 7.0 이상에서 실행되고 있어야 합니다.
- 큐 관리자에 대한 연결에는 WebSphere MQ 메시징 제공자 정상 모드를 사용해야 합니다. WebSphere MQ Information Center의 WebSphere MQ 메시징 제공자 모드 선택 규칙 주제를 참조하십시오.
- 리스너 포트를 사용 중인 경우 WebSphere Application Server의 리스너 포트에서 최대 세션을 1로 설정해야 합니다.
- 활성화 스펙을 사용 중인 경우 WebSphere Application Server의 활성화 스펙에서 최대 서버 세션을 1로 설정해야 합니다.
이 구성에 대한 중요 정보
- ASF 리스너 포트 및 WebSphere MQ 활성화 스펙에는 함께 메시지 전달을 수행하는 두 개의 개별 파트가 포함되어 있습니다. 큐 관리자는 이 두 파트를 별도 애플리케이션으로 표시합니다.
- 메시지가 도착하면 파트 1에서 메시지를 검색하지만 메시지를 이용하지는 않습니다. 대신 두 번째 파트에 메시지를 디스패치합니다.
- 파트 2는 애플리케이션의 트랜잭션 내에서 메시지를 처리하고 메시지를 MDB의 onMessage() 메소드에 전달하기 위해 스레드를 할당하는 서버 세션 풀입니다.
- 버전 7.0부터 WebSphere MQ는 메시지 발견을 위한 푸시 모델을 제공합니다. 이 모델은 이전 버전의 WebSphere MQ에서 사용되었던 폴링 모델보다 효율적이고 정상 조작 중에 더 나은 메시지 순서 지정을 제공합니다.
메시지가 무작위로 전달될 수 있는 상황
다음과 같은 상황에서는 이 구성을 사용할 경우 메시지가 무작위로 전달될 수 있습니다.
클러스터 배치에 대한 고려사항
- 애플리케이션 서버에 이 활성화를 자동으로 관리할 수 있는 기능이 없기 때문에 하나의 클러스터 멤버에서만 MDB를 활성화해야 합니다.
- 애플리케이션의 시작 상태를 설정하는 것과 별도로 리스너 포트의 시작 상태를 중지됨으로 설정할 수 있습니다.
- wsadmin 스크립팅을 사용하거나 Java™ 코드의 com.ibm.websphere.management.AdminClient 인터페이스를 사용하여 MBean 인터페이스와 함께 애플리케이션, ASF 리스너 포트 및 메시지 엔드포인트를 수동으로 시작 및 중지할 수 있습니다.