[18.0.0.1 and later]

Liberty에서 메시지 엔드포인트로 메시지 관리

메시지 엔드포인트로 배치된 메시지 구동 Bean에 대한 메시지 전달을 관리합니다.

이 태스크 정보

서버 명령 또는 MBean을 사용하여 대상인 특정 엔드포인트에서 리스너의 역할을 하는 사용자의 메시지 구동 Bean으로 메시지 전달을 관리할 수 있습니다. 서버 명령 또는 MBean을 사용하여 사용자의 메시지 구동 Bean이 사용하는 엔터프라이즈 정보 시스템(EIS)을 관리할 수 있습니다.

서버 명령과 MBean을 사용하여 정상적인 EIS 자원과 상호작용하는 청취 중인 메시지 구동 Bean에만 메시지가 전달되도록 애플리케이션 내에서 특정 엔드포인트를 활성화하고 비활성화할 수 있습니다. 이 기능은 EIS 자원이 예상대로 동작하지 않는 경우 사용자가 JMS 애플리케이션의 성능을 최적화할 수 있게 합니다. 청취 중인 메시지 구동 Bean이 정상적이지 않은 자원에 대하여 조작을 호출하면 엔드포인트에 대한 메시지 전달이 일반적으로 실패합니다. 예를 들어, 기본 메시지 구동 Bean이 반응이 없는 데이터베이스 서버에 대해 트랜잭션을 커미트하려고 하면 인바운드 자원 어댑터인 메시징 제공자가 엔드포인트에 메시지를 전달하지 못할 수 있습니다.
팁: 비즈니스 처리를 다른 엔터프라이즈 Bean에 위임하도록 사용자의 메시지 구동 Bean를 설계하십시오. 메시지 구동 Bean에서 직접 EIS 자원에 액세스하지 말고, 위임 Bean을 통해 간접적으로 액세스하십시오.
메시지 엔드포인트를 활성화하고 비활성화하는 기능은 자원을 액세스하는 메시지 엔드포인트를 제공하는 애플리케이션의 두 문제점을 완화합니다.
  • 실패한 메시지에는 청취 엔드포인트에 다시 전달하거나 경로를 재지정하여 실패한 메시지를 처리하는 대상을 변경하는 등의 추가 처리가 필요합니다. 또한 자원 어댑터가 무한대로 엔드포인트에 메시지를 다시 전달할 수도 있습니다.
  • 메시지 경로 재지정에는 메시지 실패 감지를 위한 로직뿐만 아니라 구체적 대상(큐 및 리스너)의 구현도 필요합니다. 메시지 경로 재지정은 잠재적으로 오류 가능성이 있고 복잡도로 인해 컴퓨팅 비용이 높습니다.

특정 메시지 엔드포인트를 비활성화(일시정지) 및 재활성화(재개)하는 기능은 관리자가 실패할 수 밖에 없는 메시지 처리에서 엔드포인트를 비활성화할 수 있게 하여 이러한 문제점을 완화합니다. 메시지 엔드포인트가 비활성화되면 문제점을 일으킨 자원을 수정한 다음 엔드포인트를 재활성화하여 메시지 요청 저리를 재개할 수 있습니다. 사용자의 문제점 해결은 엔드포인트를 호스트하는 애플리케이션이나 자원 어댑터에 영향을 주지 않습니다.

또한 활성화 스펙에서 autoStart 속성을 사용하여 메시지 엔드포인트가 비활성화된 상태로 시작하게 만들 수 있습니다. 이 특성을 false로 설정하면 애플리케이션이 시작될 때 메시지 구동 Bean이 메시지 수신을 시작하지 않습니다. 메시지 처리를 시작하기 전에 특정 태스크를 완료해야 하거나 서비스를 시작해야 하거나 점검을 수행해야 하는 경우 메시지 엔드포인트를 자동으로 비활성화하려면 이 설정을 사용하십시오. 이 조작 동안 일시정지한 메시지 엔드포인트를 재활성화한 것과 동일한 방식으로 메시지 엔드포인트를 활성화합니다. autoStart 속성의 기본값은 true입니다.

프로시저

결과

메시지 엔드포인트를 비활성화(일시정지)했을 때 발생하는 동작은 메시지 엔드포인트를 관리하는 자원 어댑터, 메시지 엔드포인트의 구성 및 애플리케이션 서버 토폴로지 등 다양한 요인에 따라 달라질 수 있습니다. 관련된 일부 특정 예제는 다음과 같습니다.

비지속 주제에서 MDB 청취
메시지 엔드포인트의 비활성화(일시정지)가 내포하는 동작은 수행하는 기능에 따라 달라집니다. 예를 들어 메시지 구동 Bean이 비지속 주제에 대해 청취하도록 구성된 경우 메시지 엔드포인트 비활성화로 인해 구독이 중단될 수 있습니다. 메시지 구동 Bean은 메시지 엔드포인트가 일시정지된 동안 공개된 메시지를 수신하지 않습니다.
지속적 주제에서 MDB 청취
메시지 구동 Bean이 지속적 주제에 대해 청취하도록 구성된 경우 메시지 엔드포인트 비활성화로 인해 구독이 중단될 수 있습니다. 구성에 따라, 메시지 엔드포인트가 일시정지된 동안 공개된 메시지는 메시지 엔드포인트가 재개될 때까지 메시지 엔진에서 미사용 상태로 보유될 수 있으며 재개된 시점부터 사용됩니다.
클러스터링이 있는 MDB
메시징 엔진에서 클러스터링을 지원하는 경우, 구성에 따라, 일시정지된 메시지 엔드포인트로 향하는 메시지를 다른 메시지 구동 Bean으로 경로 재지정하는 것이 가능할 수 있습니다.

주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_msgendpoint.html