![[18.0.0.1 and later]](../ng_v18001plus.gif)
Liberty에서 메시지 엔드포인트로 메시지 관리
메시지 엔드포인트로 배치된 메시지 구동 Bean에 대한 메시지 전달을 관리합니다.
이 태스크 정보
서버 명령 또는 MBean을 사용하여 대상인 특정 엔드포인트에서 리스너의 역할을 하는 사용자의 메시지 구동 Bean으로 메시지 전달을 관리할 수 있습니다. 서버 명령 또는 MBean을 사용하여 사용자의 메시지 구동 Bean이 사용하는 엔터프라이즈 정보 시스템(EIS)을 관리할 수 있습니다.
- 실패한 메시지에는 청취 엔드포인트에 다시 전달하거나 경로를 재지정하여 실패한 메시지를 처리하는 대상을 변경하는 등의 추가 처리가 필요합니다. 또한 자원 어댑터가 무한대로 엔드포인트에 메시지를 다시 전달할 수도 있습니다.
- 메시지 경로 재지정에는 메시지 실패 감지를 위한 로직뿐만 아니라 구체적 대상(큐 및 리스너)의 구현도 필요합니다. 메시지 경로 재지정은 잠재적으로 오류 가능성이 있고 복잡도로 인해 컴퓨팅 비용이 높습니다.
특정 메시지 엔드포인트를 비활성화(일시정지) 및 재활성화(재개)하는 기능은 관리자가 실패할 수 밖에 없는 메시지 처리에서 엔드포인트를 비활성화할 수 있게 하여 이러한 문제점을 완화합니다. 메시지 엔드포인트가 비활성화되면 문제점을 일으킨 자원을 수정한 다음 엔드포인트를 재활성화하여 메시지 요청 저리를 재개할 수 있습니다. 사용자의 문제점 해결은 엔드포인트를 호스트하는 애플리케이션이나 자원 어댑터에 영향을 주지 않습니다.
또한 활성화 스펙에서 autoStart 속성을 사용하여 메시지 엔드포인트가 비활성화된 상태로 시작하게 만들 수 있습니다. 이 특성을 false로 설정하면 애플리케이션이 시작될 때 메시지 구동 Bean이 메시지 수신을 시작하지 않습니다. 메시지 처리를 시작하기 전에 특정 태스크를 완료해야 하거나 서비스를 시작해야 하거나 점검을 수행해야 하는 경우 메시지 엔드포인트를 자동으로 비활성화하려면 이 설정을 사용하십시오. 이 조작 동안 일시정지한 메시지 엔드포인트를 재활성화한 것과 동일한 방식으로 메시지 엔드포인트를 활성화합니다. autoStart 속성의 기본값은 true입니다.
프로시저
결과
메시지 엔드포인트를 비활성화(일시정지)했을 때 발생하는 동작은 메시지 엔드포인트를 관리하는 자원 어댑터, 메시지 엔드포인트의 구성 및 애플리케이션 서버 토폴로지 등 다양한 요인에 따라 달라질 수 있습니다. 관련된 일부 특정 예제는 다음과 같습니다.
- 비지속 주제에서 MDB 청취
- 메시지 엔드포인트의 비활성화(일시정지)가 내포하는 동작은 수행하는 기능에 따라 달라집니다. 예를 들어 메시지 구동 Bean이 비지속 주제에 대해 청취하도록 구성된 경우 메시지 엔드포인트 비활성화로 인해 구독이 중단될 수 있습니다. 메시지 구동 Bean은 메시지 엔드포인트가 일시정지된 동안 공개된 메시지를 수신하지 않습니다.
- 지속적 주제에서 MDB 청취
- 메시지 구동 Bean이 지속적 주제에 대해 청취하도록 구성된 경우 메시지 엔드포인트 비활성화로 인해 구독이 중단될 수 있습니다. 구성에 따라, 메시지 엔드포인트가 일시정지된 동안 공개된 메시지는 메시지 엔드포인트가 재개될 때까지 메시지 엔진에서 미사용 상태로 보유될 수 있으며 재개된 시점부터 사용됩니다.
- 클러스터링이 있는 MDB
- 메시징 엔진에서 클러스터링을 지원하는 경우, 구성에 따라, 일시정지된 메시지 엔드포인트로 향하는 메시지를 다른 메시지 구동 Bean으로 경로 재지정하는 것이 가능할 수 있습니다.