2017-10-29 95 views
0

我想增加IBM MQ MQGET吞吐量並注意某些情況,我可以使用QueueManager MQOO_READ_AHEAD選項。通過這種方式,首先得到執行後,許多記錄將從服務器傳輸到客戶機庫並準備好讀取下一個GET。我想控制這個預讀消息數量的大小。我注意到有一些配置屬性爲MaximumSize,PurgeTime和UpdatePercentage,但是如何在java客戶端代碼中設置/控制這些值?如何設置IBM MQ GET預讀Java中的MaximumSize

+0

Tarvirdi:另一方面,當關閉連接時,緩衝數據丟失。 –

回答

1

用於控制客戶端側的預讀的消息緩衝器的行爲的屬性設置與客戶端配置文件,則MessageBuffer節下MQ client.ini:

https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.con.doc/q016890_.htm

下面是對文檔的鏈接描述了客戶端配置文件,並且其中MQ Java客戶機代碼試圖從加載在系統上的位置:

https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.0.0/com.ibm.mq.con.doc/q016840_.htm

我不知道如何在應用程序中以編程方式指定MaximumSize,PurgeTime和UpdatePercentage屬性。

更新: 可以作爲使用的名稱Java系統屬性設置三個MessageBuffer屬性:

com.ibm.mq.cfg.MessageBuffer.MaximumSize 

com.ibm.mq.cfg.MessageBuffer.PurgeTime 

com.ibm.mq.cfg.MessageBuffer.UpdatePercentage 

因此調用應用程序時,您可以爲Java命令這些使用-D標誌或通過System.setProperty(String, String)在應用程序代碼本身內進行調用 - 只要在任何用於執行Java API調用的JMS /類的MQ類之前設置屬性即可。