我們將.NET API用於IBM的WebSphere MQ。重用IBM.WMQ.MQQueue對象
創建MQQueueManager對象顯然是一個昂貴的操作,因此我們緩存並重用這些對象池。
目前,對於每一個請求,我們訪問所需的隊列:
//obtain queueManager from pool
IBM.WMQ.MQQueue requestQ= queueManager.AccessQueue(requestQName, mqOptions);
IBM.WMQ.MQQueue responseQ= queueManager.AccessQueue(responseQName, mqOptions);
,並關閉它們做一次:
requestQ.Close();
responseQ.Close();
這是最好的做法,或者我們應該也集中和重用MQQueue對象(除了隊列管理器)? AccessQueue()在客戶端上似乎是一個便宜的操作。
那麼你說「連接」,你是什麼意思?我看到IBM文檔也提到了它,但是因爲我認爲我連接到QueueManager,所以我不太瞭解是否需要爲每個線程創建新的QM(緩存)。 – 2016-10-28 16:15:30