如何设置IBM MQ GET预读Java中的MaximumSize

问题描述:

我想增加IBM MQ MQGET吞吐量并注意某些情况,我可以使用QueueManager MQOO_READ_AHEAD选项。通过这种方式,首先得到执行后,许多记录将从服务器传输到客户机库并准备好读取下一个GET。我想控制这个预读消息数量的大小。我注意到有一些配置属性为MaximumSize,PurgeTime和UpdatePercentage,但是如何在java客户端代码中设置/控制这些值?如何设置IBM MQ GET预读Java中的MaximumSize

+0

Tarvirdi:另一方面,当关闭连接时,缓冲数据丢失。 –

用于控制客户端侧的预读的消息缓冲器的行为的属性设置与客户端配置文件,则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类之前设置属性即可。