샘플 실행 시 문제점 진단

이 주제에서는 샘플을 실행했으나 올바른 결과를 수신하지 못한 경우에 문제점 진단을 위한 몇 가지 방법에 대해 설명합니다. 아래의 지시사항을 따르십시오.

  1. 입력 메시지가 있는 큐를 판별하려면 WebSphere MQ 탐색기를 사용하십시오.
    1. WebSphere MQ 탐색기를 시작하십시오.
    2. WebSphere MQ 탐색기에서 해당 폴더를 확장하여 브로커 큐 관리자인 WBRK_DEFAULT_QUEUE_MANAGER를 표시하십시오.
    3. 큐 관리자의 Queues 폴더를 눌러 해당 큐를 표시하십시오.
    4. 현재 용량 열을 점검하여 입력 메시지를 보유하고 있는 큐를 식별하십시오. 하나의 큐에 여러 개의 메시지가 있으면 마우스 오른쪽 단추로 큐를 누른 후 메시지 찾아보기를 눌러 찾고자 하는 메시지가 이 큐에 있는지 여부를 판별하십시오.
  2. 문제점 및 이를 해결하도록 제안된 솔루션을 식별하려면 다음 표를 사용하십시오. 실행 중인 샘플이 데이터베이스를 사용하지 않을 경우, 표에 나열된 데이터베이스 관련 문제점을 무시하십시오.
  3. 아래 표가 문제점 해결에 도움이 되지 않으면, Message Brokers Toolkit으로 되돌아가 오류 메시지에 대한 문제점 보기를 점검하십시오. 이 정보를 사용하여 문제점을 해결하십시오.
  4. 사용자 고유의 샘플을 작성한 경우 샘플의 모든 오브젝트에 이름이 지정되고 올바르게 구성되었는지 점검해야 합니다.
문제점 이유 제안 솔루션
입력 메시지가 IN 큐에 남아 있습니다. 브로커, 구성 관리자, 큐 관리자, 리스너 또는 메시지 플로우 자체가 정지되었습니다. 모든 구성요소가 실행 중인지와 큐 관리자의 리스너가 큐 관리자 포트에서 대기하고 있는지 점검하십시오. 실행 중이 아닌 구성요소를 시작하십시오.
IN 큐에 이미 메시지 플로우가 처리할 수 없는 식별 불가능한 메시지가 있습니다. WebSphere MQ 탐색기에서 마우스 오른쪽 단추로 IN 큐를 누른 후 모든 작업 > 메시지 지우기를 누르십시오.
입력 메시지가 FAIL 큐로 이동합니다. MQInput 노드가 메시지를 구문 분석하는 데 사용해야 하는 구문 분석기를 식별할 수 없습니다. Workbench의 큐에 삽입 기능 또는 Support Pac IH03에 제공되는 RfhUtil을 사용하는 경우, 필드의 도구에 필요한 모든 메시지 헤더 정보를 입력해야 합니다.
mqsiput.exe를 사용하는 경우, 메시지 파일 자체에 헤더 정보를 추가해야 합니다.
입력 메시지가 SYSTEM.DEAD.LETTER.QUEUE로 이동합니다. 입력 메시지를 넣으려고 했던 큐가 없습니다. 샘플에 필요한 모든 큐가 작성되었는지 확인하십시오.
어떤 큐에서도 입력 메시지를 찾을 수 없습니다. WebSphere MQ 탐색기에서 표시를 새로 고치지 않았거나 큐의 일부만 새로 고쳤습니다. WebSphere MQ 탐색기에서 모든 큐를 새로 고치려면 마우스 오른쪽 단추로 Queues 폴더를 누른 후 새로 고침을 누르십시오. WebSphere MQ 탐색기 버전 5.3에서 마우스 오른쪽 단추로 큐를 누른 후 새로 고침을 누르면 선택된 큐만 새로 고쳐지는 점에 유의하십시오. WebSphere MQ 탐색기 버전 6.0에서는 새로 고침을 누르면 폴더에 있는 모든 큐가 새로 고쳐집니다.
입력 메시지가 다른 노드에 연결되지 않은 터미널로 전달되어 메시지가 제거되었습니다. 모든 노드가 샘플에서 요구하는 대로 서로 연결되어 있는지 확인하십시오.
입력 메시지가 FAIL 큐로 이동하거나 이벤트 로그에 데이터베이스가 없음을 나타내는 메시지가 있습니다. DB2가 실행 중이 아닙니다. DB2 명령 창에서 다음 명령을 입력하십시오.
db2 start
DB2가 이미 실행 중인 경우, 다음 메시지를 수신합니다.
'데이터베이스 관리자가 이미 활성 상태입니다'.
메시지 플로우는 디폴트 스키마에 들어 있지 않은 데이터베이스 테이블에 액세스하려고 시도합니다. 디폴트 스키마의 이름은 데이터베이스에 액세스하는 데 사용되는 사용자 이름에 의해 판별되며 이 이름과 동일합니다. 테이블이 디폴트 스키마에 들어 있지 않고 메시지 플로우의 ESQL에 다른 스키마가 지정되어 있지 않은 경우, 메시지 플로우는 디폴트 스키마에 있는 테이블을 찾습니다.

DB2 명령 창에서 다음 명령을 입력하십시오.
DB2 "CONNECT TO database user username"
DB2 "CREATE VIEW tablename AS SELECT * FROM tableschema.tablename"
여기서 tableschema는 메시지 플로우에 액세스 중인 테이블이 들어 있는 스키마이고, username은 브로커의 사용자 이름이며, tablename은 메시지 플로우에 액세스 중인 테이블입니다.