【发布时间】:2011-03-04 22:35:24
【问题描述】:
我正在使用以下代码从 MQQueue 和 MQQueueManager 断开连接:
队列.Close(); log.Info("队列 IsOpen:" + Queue.IsOpen.ToString()); 队列=空; QueueManager.Disconnect(); QueueManager.Close(); log.Info("QM IsOpen:" + QueueManager.IsOpen.ToString()); log.Info("QM IsConnected:" + QueueManager.IsConnected.ToString()); 队列管理器 = 空;我得到以下日志条目:
队列已打开:假 QM IsOpen:假 QM 已连接:错误但几个小时后,当我从命令提示符运行 netstat -n 命令时,我得到一长串与 MQ 服务器的连接,并且这些连接中的状态为 CLOSE_WAIT。
知道为什么 TCP 连接没有完全关闭吗?有什么方法可以让我从代码中杀死它们吗?目前,我必须重新启动清理打开连接的客户端应用程序。
WebSphere MQ 版本是 6.0.2.6,.NET 库来自 MQ 7。
【问题讨论】: