2013-04-15 3 views
0

IBM MQ를 처음 사용하고 큐 관리자가 tcp 채널 연결을 사용하고 TCP 연결이 광범위하게 확장되었습니다. 이것은 사용중인 코드 조각입니다. 재사용 가능한 방식으로 채널 내의 연결을 처리하는 방법?IBM MQ 클라이언트/서버의 연결 처리

6.0.5.2 MQ 원격 서버와 통화하는 7.5 MQ 클라이언트를 사용 중입니다. 나는 제대로 연결을 닫습니다, 그러나 내가 netstat를 실행하면 tcp 연결은 time_wait 상태로 나타납니다. 이러한 연결/소켓 누출이 있습니까? 나는 NETSTAT를 실행하면

MQQueue mqQueue = null; 
MQQueueManager mqQMgr=null; 
try 
{ 
    //Create connection to queue manager 
    mqQMgr = new MQQueueManager("Queue Manager name", properties); 
    //Access the queue 
    mqQueue = mqQMgr.AccessQueue(QueueName, MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_INPUT_SHARED | MQC.MQOO_BROWSE); 
    for(int i=1;i<2000;i++) 
    { 
    //read the messages 
    mqMsg=new MQMessage(); 
    mqQueue.Get(mqMsg); 
    } 
} 
catch(MQException mqe) 
{ 
    //If no messages in the queue , break. (if not, catch any error) 
} 
finally 
{ 
    mqQueue.Close(); //Close the MQ Queue 
    mqQMgr.Disconnect(); //Disconnect the MQ Manager 
} 

, 그것은 그것은 누출이 아니다

TCP x.x.x.x:59092 x.x.x.x:1400 TIME_WAIT 
TCP x.x.x.x:59093 x.x.x.x:1400 TIME_WAIT 
TCP x.x.x.x:59094 x.x.x.x:1400 TIME_WAIT 
TCP x.x.x.x:59095 x.x.x.x:1400 TIME_WAIT 
TCP x.x.x.x:59096 x.x.x.x:1400 TIME_WAIT 
TCP x.x.x.x:59097 x.x.x.x:1400 TIME_WAIT 
TCP x.x.x.x:59098 x.x.x.x:1400 TIME_WAIT 
TCP x.x.x.x:59099 x.x.x.x:1400 TIME_WAIT 
+0

입력 사항이 도움이 될까요? – Sharpeye500

답변

3

을 보여줍니다. 소켓은 닫힌 후 TIME_WAIT 상태가됩니다. 소켓이 TIME_WAIT에 오랜 시간 동안있는 것은 정상이며, 4 분과 같으며 운영 체제에 따라 다릅니다.