我試圖從遠程隊列中讀取消息(大約1Mb大小)。方法queue.get(theMessage,gmo)需要大約3-6秒才能完成。是否有任何選項(如緩衝區大小)來提高性能?MQQueue get方法從遠程服務器上花費太長時間
qMgr = new MQQueueManager(qManager);
int openOptions = CMQC.MQOO_FAIL_IF_QUIESCING | CMQC.MQOO_INPUT_SHARED | CMQC.MQOO_BROWSE;
MQQueue queue = qMgr.accessQueue(qQueue, openOptions);
MQMessage theMessage = new MQMessage();
//theMessage.messageFlags = CMQC.MQMF_SEGMENTATION_ALLOWED;
MQGetMessageOptions gmo = new MQGetMessageOptions();
gmo.options = CMQC.MQGMO_LOGICAL_ORDER | CMQC.MQGMO_ALL_SEGMENTS_AVAILABLE | CMQC.MQGMO_COMPLETE_MSG | CMQC.MQGMO_WAIT | CMQC.MQGMO_BROWSE_FIRST;
gmo.matchOptions = CMQC.MQMO_NONE;
gmo.waitInterval = 5000;
queue.get(theMessage, gmo);
消息是否持久? – JoshMc
是的。消息持續。 Ping到遠程服務器大約100ms。也許我需要用多線程重寫我的應用程序? – loljeene
您使用的是MQ服務器和客戶端的哪個版本和修訂包級別? – JasonE