메시지 엔드포인트로 메시지 관리
메시지 엔드포인트로 배치된 메시지 구동 Bean(MDB)의 메시지 전달을 관리합니다. 메시지 엔드포인트는 JCA(Java™ EE(Java Platform, Enterprise Edition) Connector Architecture) 버전 1.5를 준수하는 인바운드 자원 어댑터의 관리 Bean(MBean)입니다.
이 태스크 정보
- 실패한 메시지는 청취 엔드포인트에 다시 전달하거나 실패한 메시지를 처리하는 대체 대상으로 경로를 재지정하는 것과 같은 추가 처리가 필요합니다. 또한 자원 어댑터는 엔드포인트에 무기한으로 메시지를 재전달할 수 있습니다.
- 메시지 경로 재지정을 위해서는 메시지 실패를 발견할 논리와 함께 실패한 메시지를 처리할 특수화된 대상(큐와 리스너)을 구현해야 합니다. 메시지 경로 재지정은 잠재적으로 오류를 유발하며 복잡도로 인해 비용이 많이 드는 작업입니다.
특정 메시지 엔드포인트를 비활성화(일시정지) 및 재활성화(재개)하는 기능은 실패할 예정인 메시지를 처리하지 못하게 관리자가 엔드포인트를 비활성화시키도록 해서 이러한 문제를 완화합니다. 메시지 엔드포인트가 비활성화되면 문제를 유발하는 자원을 수리한 후 엔드포인트를 재활성화해서 메시지 요청 처리를 재개할 수 있습니다. 문제점을 해결하는 도중에는 사용자가 엔드포인트를 호스팅하는 애플리케이션이나 자원 어댑터에 영향을 주지 않습니다.
WebSphere® MQ에 연결 중이면 활성화 스펙에서 WAS_EndpointInitialState 사용자 정의 특성을 사용하여 메시지 엔드포인트가 비활성화된 상태에서 시작되도록 할 수도 있습니다. 이 특성을 비활성으로 설정하면 메시지 구동 Bean이 대상과 연결되지만 메시지 수신을 시작하지는 않습니다. 메시지 핸들링이 시작되기 전에 특정 태스크를 완료하거나, 서비스를 시작하거나, 점검을 수행해야 함을 알고 있을 때 메시지 엔드포인트를 자동으로 비활성화하려면 이 설정을 사용하십시오. 조작 중 일시정지한 메시지 엔드포인트를 재활성화하는 방법과 동일한 방식으로 메시지 엔드포인트를 활성화합니다.
프로시저
결과
- 비지속 토픽에서 청취하는 MDB(구성에 종속): 메시지 엔드포인트의 비활성화(일시정지)가 내포하는 동작은 종종 이행 중인 기능에 따라 다릅니다. 예를 들어, 서비스 통합 버스의 비지속 토픽에서 청취하도록 메시지 구동 Bean을 구성한 경우 메시지 엔드포인트를 비활성화하면 애플리케이션 중지와 효과가 비슷하며 등록이 처리완료됩니다. 이는 메시지 엔드포인트가 일시정지된 동안에 공개되는 메시지를 메시지 구동 Bean이 수신하지 않음을 의미합니다.
- 클러스터된 메시지 구동 Bean(토폴로지에 종속): 이 시나리오에서 메시지 구동 Bean 애플리케이션은 서버의 클러스터에 배치되었습니다. 주어진 메시지 엔드포인트 MBean은 클러스터의 한 서버에서만 MDB의 동작을 제어하므로 한 서버만 메시지 처리를 중지합니다. 메시징 구성과 사용 중인 특정 자원 어댑터에 따라, 일시정지된 메시지 엔드포인트가 이용한 메시지는 클러스터의 활성 메시지 엔드포인트에 이용되거나 일시정지된 메시지 엔드포인트가 재개될 때까지 이용되지 않은 채로 남아 있을 수 있습니다.
- 클러스터된 메시지 구동 Bean, 클러스터되지 않은 큐: 이 시나리오에서는 동일한 메시지 구동 Bean이 배치된 서버의 클러스터가 있습니다. 이는 메시지 구동 Bean이 논리적으로 동일한 메시지 구동 Bean인 경우를 제외하고는, 메시지 선택 기준이 동일한 여러 다른 메시지 구동 Bean이 있는 상황과 유사합니다. 엔드포인트를 일시정지하면 서버의 한 서버만 메시지 수신을 중지하고 다른 메시지 구동 Bean은 모든 메시지를 수신합니다. 고아가 되는 메시지가 없습니다. 모든 엔드포인트를 중지하려면 클러스터의 각 서버를 로컬 메시지 엔드포인트를 중지하도록 지정해야 합니다.
- 클러스터된 메시지 구동 Bean, 클러스터된 큐 이 시나리오에서는 각 메시지 구동 Bean이 큐의 다른 파티션에서 메시지를 가져옵니다. WebSphere MQ 및 서비스 통합 버스를 통한 메시징이 유사하지만 기능은 다릅니다. WebSphere MQ를 사용 중인 경우에 한 엔드포인트를 일시정지하면 메시지 구동 Bean의 다른 인스턴스가 메시지를 수신하지 못합니다. 서비스 통합 버스에서는 일시정지된 엔드포인트의 메시지가 다른 메시지 구동 Bean으로 경로 재지정됩니다.