2014-02-06 1 views
0

안녕하세요MQ-7 연결 아래 문제

MQJE001: An MQException occurred: Completion Code 2, Reason 2009 
MQJE016: MQ queue manager closed channel immediately during connect 
2009 
Closure reason = 2009 
MQJE001: Completion Code 2, Reason 2009 

이 친절하게 나에게이

답변

0

도움 나는 내가이 예외를 얻을 프로그램을 실행하면 연결

String qManager=""; 

int openOptions = CMQC.MQOO_FAIL_IF_QUIESCING + CMQC.MQOO_INPUT_SHARED + CMQC.MQOO_INQUIRE+CMQC.MQOO_BROWSE; 

try{ 
     Hashtable props = new Hashtable(); 

     props.put(CMQC.HOST_NAME_PROPERTY, "IP"); 
     props.put(CMQC.PORT_PROPERTY, port_num); 
     props.put(CMQC.CHANNEL_PROPERTY, "SYSTEM.DEFAULT.LOCAL.QUEUE"); 

     MQQueueManager qMgr = new MQQueueManager("QM", props); 

     MQQueue destQueue = qMgr.accessQueue("Q_name", openOptions); 
     System.out.println("Connected"); 

     destQueue.close(); 
     qMgr.disconnect(); 
}catch(MQException mqe){ 
    System.out.println(mqe.reasonCode); 
} 
} 

} 

을 확인하는 데 사용되는 코드입니다 여기 내가 의심하는 2 가지 :

  1. props.pu t (CMQC.HOST_NAME_PROPERTY, "IP"); < - 호스트 이름이 너무 짧습니까?
  2. props.put (CMQC.CHANNEL_PROPERTY, "SYSTEM.DEFAULT.LOCAL.QUEUE"); < - 로컬 큐 이름이 채널 속성으로 설정되는 이유

MQ 설치의 "tools"폴더에 몇 가지 샘플이 있습니다.

+0

IP는 IP 주소입니다. MQExplorer를 사용하여 로컬 큐를 만들었으며 "SYSTEM.DEFAULT.LOCAL.QUEUE"가 채널 이름이라고 생각했습니다. 로컬 큐의 채널 이름을 찾는 방법을 알고 있습니까 –

+0

채널이 큐와 다릅니다. 서버 연결 채널을 사용할 수 있습니다. MQ –

0

IBM Websphere MQ-7에서이 오류 bcoz가 발생했습니다. 채널 보안이 활성화되었습니다. 채널 보안을 비활성화 한 후 연결할 수있었습니다.

+0

의 infocenter에서이 내용을 읽을 수 있습니다. 이유 코드가 2009 년이라는 사실에 놀랐습니다. 채널 보안이 활성화 된 것은 2035 년이었을 것입니다. – Shashi

+0

당신은 종교 의식을하고 있습니다.하지만 보안을 해제 한 후에는 효과가있었습니다. 나는 udstd .. 그리고 심지어 대기열 깊이를 찾을 수있었습니다. –