예 4: 예외 대상이 지정되지 않은 경우 MDB 자동 중지
시스템 자원을 사용할 수 없게 되는 경우나 문제점 메시지에 대비하려면 시스템이 메시지 구동 Bean(MDB)을 자동으로 중지하도록 구성하십시오. 메시지 순서를 유지하려면 예외 대상을 사용하지 마십시오.
시작하기 전에
MDB가 청취하는 대상은 예외 대상을 사용해서는 안 됩니다. 즉, 큐 또는 토픽 공간 대상의 예외 대상은 없음으로 구성되어야 합니다.
- MDB를 포함하는 배치된 엔터프라이즈 애플리케이션을 탐색하십시오.
- 종속 외부 시스템 자원.
- 실패한 순차 메시지 임계값에 대한 1의 값.
이는 메시지 전달의 최대 연속 실패 수이며,
이 이후에 MDB가 중지됩니다. 이 특성은
메시지 세트에 적용됩니다. 참고: 이 특성이 1보다 큰 값으로 설정된 경우 예외 목적지가 없음으로 구성되면 시스템은 자동으로 1로 재설정합니다.
- 실패 메시지 재시도 간 지연에 대한 값 5000. 이는 실패 메시지를 MDB에 전달할 수 있게 될 때까지의 시간(밀리초)입니다. 다른 메시지는 실패한 순차 메시지 임계값 및 최대 동시성이 1로 설정되지 않는 경우 이 기간 중에 전달될 수 있습니다.
- 메시지당 실패한 최대 전달 수에 대한 허용 가능한 값. 이 값은 메시지를 처리하려는 실패한 최대 시도 횟수입니다. 이 특성은 개별 메시지에 적용됩니다.
JCA MBean은 JMX 알림을 생성하여 MDB가 일시정지되었으며, MDB를 재개함을 표시합니다. JMX 알림을 수신하도록 JCA MBean에서 메시지 리스너 등록을 고려하십시오.
이 태스크 정보
이 시나리오에서 엔터프라이즈 애플리케이션은 외부 시스템 자원에 액세스하기 위해 배치된 MDB를 사용하는 연속적으로 실행되는 시스템입니다.
문제점 메시지(이 시나리오에서는 msg1)가 나타나면 큐에 다시 입력됩니다.
MDB에서 msg1을 즉시 사용 가능하게 설정하는 대신, 실패 메시지 재시도 간 지연 재시도 지연(이 시나리오에서는 5초) 동안 숨깁니다.
숨겨진 메시지의 수가 실패한 순차 메시지 임계값에 도달하면 MDB는 숨겨진 메시지 중 하나가 다시 사용 가능해질 때까지 메시지를 더 이상 처리하지 않습니다. 이 시나리오에서 msg1을 숨기면 즉시 이 임계값에 도달합니다.
msg1에 대해 실패 메시지 재시도 간 지연이 만료되면 msg1을 숨김 해제하고 재처리합니다.
이 프로세스는 msg1이 해당 메시지당 실패한 최대 전달 수 한계(이 시나리오에서는 5회)에 도달할 때까지 반복됩니다.
msg1이 4회 동안 숨김 해제되고 롤백된 후에 다시 숨기면 실패한 순차 메시지 임계값에 도달하고 MDB가 자동으로 중지됩니다. JMX 알림이 JCA MBean에서 생성되며, 로그 항목은 시스템 관리자에게 MDB가 중지되었음을 경고합니다.