활성화 스펙 또는 WebSphere MQ 버전 7.x에 연결된 ASF 리스너 포트를 사용한 엄격한 메시지 순서 지정

엄격한 메시지 순서 지정은 무작위로 도착하는 메시지를 처리하기 위한 특수 기능이 애플리케이션으로 코드화되지 않은 경우 메시지 구동 Bean 애플리케이션을 WebSphere MQ 메시징 제공자에 배치할 때 수행할 수 있습니다.

WebSphere® Application Server 버전 7 이상의 경우 리스너 포트는 안정화되었습니다. 자세한 정보는 안정화된 기능에 대한 항목을 참조하십시오. 리스너 포트 사용에서 활성화 스펙 사용까지의 WebSphere MQ 메시지 구동 Bean 배치 구성을 마이그레이션해야 합니다. [AIX Solaris HP-UX Linux Windows][IBM i]비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에서 사용되었던 폴링 모델보다 효율적이고 정상 조작 중에 더 나은 메시지 순서 지정을 제공합니다.

메시지가 무작위로 전달될 수 있는 상황

다음과 같은 상황에서는 이 구성을 사용할 경우 메시지가 무작위로 전달될 수 있습니다.

  • 트랜잭션 롤백 후 롤백된 메시지가 다시 전달되기 전에 큐에서 사용 가능한 다음 메시지가 전달될 수 있습니다.
    • ASF 리스너 포트의 경우 최대 재시도zero로 설정하면 롤백 발생 시 리스너 포트를 중지하여 롤백 후 무작위 전달을 방지할 수 있습니다. 그러나 리스너 포트를 수동으로 다시 시작해야 합니다.
    • 활성화 스펙의 경우 메시지 전달이 실패할 경우 엔드포인트 중지를 선택하고 엔드포인트를 일시중단하기 전의 순차 전달 실패 수0으로 설정하면 롤백 발생 시 메시지 엔드포인트를 일시 정지하여 롤백 후 무작위 전달을 방지할 수 있습니다. 그러나 MDB의 메시지 엔드포인트를 수동으로 재개해야 합니다. 자세한 정보는 WebSphere MQ Information Center를 참조하십시오.
  • 트랜잭션 복구 중에 메시지가 무작위로 전달될 수 있음:
    참고: 이런 시나리오가 발생하려면 특정한 이벤트 세트가 특정한 순서로 발생해야 하는데 그런 경우는 드뭅니다. 그러나 애플리케이션 조작에 순서 지정된 메시지 전달이 중요한 경우에는 이를 고려해야 합니다.
    • 다음 컴포넌트 중 하나에 장애가 있어서 복구하는 동안 이 배치 옵션을 사용하는 경우 메시지가 순서를 따르지 않고 전달될 수 있습니다.
      • MDB를 호스트하는 애플리케이션 서버
      • WebSphere MQ 큐 관리자
      • 애플리케이션 서버와 큐 관리자를 연결하는 네트워크
    • 이러한 컴포넌트 중 하나가 MDB 트랜잭션의 2단계 커미트 중간에 실패하면 컴포넌트가 다시 사용 가능할 때 트랜잭션을 해결하기 위해 애플리케이션 서버 트랜잭션 관리자가 큐 관리자에 대한 연결을 다시 설정합니다.
    • 이 복구 프로세스는 비동기적이며 트랜잭션 복구 프로세스가 완료되기 전에 MDB에 대한 새 메시지 전달을 시작하는 것이 가능합니다. 트랜잭션 복구 결과 트랜잭션이 롤백될 경우 새로운 메시지가 이미 전달된 후 메시지는 WebSphere MQ 큐로 리턴되고 애플리케이션에 다시 전달됩니다.

클러스터 배치에 대한 고려사항

  • 애플리케이션 서버에 이 활성화를 자동으로 관리할 수 있는 기능이 없기 때문에 하나의 클러스터 멤버에서만 MDB를 활성화해야 합니다.
  • 애플리케이션의 시작 상태를 설정하는 것과 별도로 리스너 포트의 시작 상태를 중지됨으로 설정할 수 있습니다.
  • wsadmin 스크립팅을 사용하거나 Java™ 코드의 com.ibm.websphere.management.AdminClient 인터페이스를 사용하여 MBean 인터페이스와 함께 애플리케이션, ASF 리스너 포트 및 메시지 엔드포인트를 수동으로 시작 및 중지할 수 있습니다.

주제 유형을 표시하는 아이콘 개념 주제



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