2012-12-22 2 views
0

내 큐 관리자에 백 아웃 큐가 있습니다.WMB에서 백 아웃 된 메시지를 처리하는 가장 좋은 방법

나는이 큐를 읽하고 메시지가 큐에 오는 경우가 메시지를해야하고 는 특별한 형식의 XML 메시지에 싸서 일반 예외 큐에 넣어 메시지 흐름을 구축하려는 처리 된 예외를 가져옵니다.

그러나 백 아웃 대기열에 오는 메시지는 어떤 형식이든 될 수 있으며 메시지가 필드가 될 XML을 만들어야합니다.

그럼, 내 흐름에 대한 최적의 설정이 될 수 파서(MQMD 등 CCSID, 형식 등의 속성에 대해서는) 내가 사용한다 (DFDL 또는 BLOB 또는 MRM)?

친절한 조언.

답변

0

어떤 종류의 메시지가 취소 대기열에 도착했는지 알지 못하기 때문에 특정 파서 (XMLNSC 등)로 파싱하지 않아야합니다. MQInput에서 설정하는보다 일반적인 매개 변수 일수록 메시지의 내용을 결정하기 위해 흐름을 더 잘 수행 할 수 있습니다.

그래서 기본 메시지 도메인 (BLOB)으로 시작하고 다른 매개 변수도 그대로 둡니다. 일부 로깅 노드 (예 : 추적 노드)를 Catch 및 Failure 터미널에 연결합니다. Out 터미널을 ESQL이 포함 된 Compute 노드에 연결하여 오류 유형을 결정하고 추가 작업 (예 : 레이블 연결)을 결정합니다. 그런 다음 각 레이블에서 메시지의 어떤 부분을 최종 예외 메시지 및 매핑에 매핑할지 결정합니다.

결과 메시지의 백 아웃 대기열에있는 메시지의 MQMD 등록 정보가 필요하면 결과 메시지 XML 부분에 값을 추출하고 연결/연결하십시오. MQMD (및 기타) 헤더를 그대로 메시지로 복사해야한다고 생각하지 않습니다. 원래 메시지가 백 아웃 대기열에 들어가서 결과 메시지가 다시 표시 될 수 있기 때문입니다. 결과 메시지 헤더를 처음부터 구성합니다.

이러한 변환을 수행하는 중에 문제가 발생하면 Trace에 문제가 표시됩니다. 그런 다음 오류 처리 논리를 적절하게 수정하여 향후 잘못된 취급을 피하십시오.