我使用以下代码从 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。