예 2: 시스템 자원을 사용할 수 없게 될 때 MDB 자동 중지

시스템 자원을 사용할 수 없게 되는 경우에 대비하기 위해 몇 번의 메시지 실패 후 메시지 구동 Bean(MDB)이 자동으로 중지되고 문제점을 경고하도록 시스템을 구성하십시오.

시작하기 전에

이 태스크는 외부 시스템 자원과 상호 작용하는 메시지 구동 Bean(MDB)을 포함하는 엔터프라이즈 애플리케이션을 배치했다고 가정합니다.

MDB가 청취하는 대상은 예외 대상을 사용해야 합니다. 이 예외 목적지는 시스템 기본값이거나 목적지에 특별히 구성된 항목일 수 있습니다.

이 태스크를 완료하려면 다음 정보가 필요합니다.
  • MDB를 포함하는 배치된 엔터프라이즈 애플리케이션을 탐색하십시오.
  • 종속 외부 시스템 자원
  • 실패한 순차 메시지 임계값에 대한 3의 값. 이는 메시지 전달의 최대 연속 실패 수이며, 이 이후에 MDB가 중지됩니다. 이 특성은 메시지 세트에 적용됩니다.
  • 실패 메시지 재시도 간 지연에 대한 값 5000. 이는 실패 메시지를 MDB에 전달할 수 있게 될 때까지의 시간(밀리초)입니다. 다른 메시지는 실패한 순차 메시지 임계값 및 최대 동시성이 1로 설정되지 않는 경우 이 기간 중에 전달될 수 있습니다.
  • 메시지당 실패한 최대 전달 수 에 대한 5의 값. 이 값은 메시지를 의도된 목적지에서 예외 목적지로 전달한 후 메시지를 처리하는 데 실패한 최대 시도 수입니다. 이 특성은 개별 메시지에 적용됩니다.

이 태스크 정보

이 시나리오에서 엔터프라이즈 또는 비즈니스 레벨 애플리케이션은 외부 시스템 자원에 액세스하기 위해 배치된 MDB를 사용하는 연속적으로 실행되는 시스템입니다.

외부 자원에 문제점이 발생하여 사용할 수 없는 경우, 배치된 MDB가 해당 자원에 액세스할 수 없으므로 MDB와 연관된 트랜잭션이 롤백되고 메시지, msg1은 큐에 다시 지정됩니다.

메시지 msg1은 MDB에서 사용 가능해지기 전에 5초의 재시도 지연 동안(실패 메시지 재시도 간 지연에 설정됨) 숨겨집니다.

그 동안 MDB는 큐의 다음 메시지, msg2를 처리합니다. 외부 자원은 아직 계속 사용 불가능하므로, 이 메시지 처리도 실패합니다. 메시지 트랜잭션은 롤백되며 메시지는 5초 동안 숨겨집니다. 큐의 다음 메시지, msg3,은 처리되지만 실패하고 마찬가지로 숨겨집니다.

숨겨진 메시지의 수가 실패한 순차 메시지 임계값에 도달하면 MDB는 숨겨진 메시지 중 하나가 다시 사용 가능해질 때까지 메시지를 더 이상 처리하지 않습니다.

msg1에 대해 실패 메시지 재시도 간 지연이 만료되면 msg1을 숨김 해제하고 재처리합니다. 자원은 아직 계속 사용 불가능하므로 메시지를 다시 숨깁니다. msg2 및 msg3에서도 동일한 상황이 나타납니다.

메시지가 메시지당 실패한 최대 전달 수 한계(이 시나리오에서 5회)보다 1개 적은 횟수로 롤백되면 메시지는 실패한 메시지로 간주됩니다. 따라서 msg1이 4회 동안 숨김 해제된 후에 다시 숨기면 순차적 실패 횟수가 증가합니다. 이 시점에서 msg2는 숨김 해제되고 롤백된 후 다시 숨깁니다. 마찬가지로 msg3도 숨김 해제되고 롤백된 후 다시 숨깁니다. 연속 실패 수가 실패한 순차 메시지 임계값에 도달하면 MDB가 자동으로 중지됩니다. JMX 알림이 JCA MBean에서 생성되며, 로그 항목은 시스템 관리자에게 MDB가 중지되었음을 경고합니다.

참고: 이 시나리오에서 약 20초 동안 시스템 자원이 사용 불가능하면 MDB는 자동으로 중지됩니다. 더 짧은 기간 동안 시스템 자원이 사용 불가능하고 순차적 실패 횟수가 실패한 순차 메시지 임계값에 도달하지 않으면 한 번의 재시도에서 메시지가 성공적으로 처리됩니다. 시스템은 정상적으로 수동 개입 없이, 예외 목적지로 메시지를 전송하지 않고 계속됩니다.

프로시저

  1. MDB를 포함하는 배치된 엔터프라이즈 애플리케이션을 탐색하십시오.
  2. MDB에서 해당 JMS 활성화 스펙으로 이동하십시오. 자원 -> JMS -> 활성화 스펙 -> activation_specification_name을 클릭하십시오.
  3. 실패한 순차 메시지 임계값에 대한 값으로 3을 입력하십시오.
  4. 실패 메시지 재시도 간 지연에 대한 값으로 5000을 입력하십시오.
  5. 구성을 저장하십시오.
  6. MDB가 청취하는 대상으로 이동하십시오. 다음 경로 중 하나를 적절하게 클릭하십시오.
    • 서비스 통합 -> 버스 -> bus_name -> [대상 자원] 대상 -> queue_name
    • 서비스 통합 -> 버스 -> bus_name -> [대상 자원] 대상 -> topic_space_name
  7. 메시지당 실패한 최대 전달 수에 대한 값으로 5를 입력하십시오.
  8. 마스터 구성에 변경사항을 저장하십시오.
  9. MDB(또는 엔드포인트)가 일시정지되었음을 나타내는 JMX 알림 및 로그 항목을 수신하면 MDB가 사용 중이던 시스템 자원과 문제점을 조사하십시오. MDB가 일시정지되어 있는 동안 메시지가 예외 대상에 전송되지 않고 중지된 데이터베이스와 관련된 콘솔에 오류 메시지가 표시되지 않습니다.
  10. 실패한 시스템 자원이 사용 가능한 경우 다시 시작하십시오.
  11. 관리 콘솔에 다시 로그온하여 동일한 엔터프라이즈 애플리케이션으로 이동하여 MDB에 대해 관리 패널에서 재개를 클릭하십시오. 스크립트와 JCA MBean을 사용하여 MDB를 재개할 수도 있습니다. 초기 JMX 알림 및 로그 항목은 MDB를 재개하는 데 사용할 MBean을 표시합니다. MDB가 대상에 있는 메시지로 구동되기 시작합니다.

결과

외부 자원 장애로부터 시스템을 보호하도록 시스템을 구성합니다.

다음에 수행할 작업

MDB가 재개되면 JCA MBean이 MDB가 재개되었음을 표시하는 JMX 알림을 생성합니다. 큐의 메시지를 이용하고, 실패한 메시지를 재시도하고 트랜잭션을 커미트합니다.

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



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