Sun Java System Message Queue 3.7 UR1 管理指南

管理停用消息队列

可以使用 Message Queue 命令实用程序 (imqcmd) 像管理其他队列那样来管理停用消息队列,但有一些不同之处。 例如,由于停用消息队列是系统创建的,因此您不能创建、暂停或销毁它。另外,如表 6–3 中所示,停用消息队列的默认值有时与普通队列的默认值不同。

停用消息队列属性

配置停用消息队列与配置其他队列相似,但某些物理目的地属性不应用默认值或具有不同的默认值。表 6–3 列出了停用消息队列以独特方式处理的队列属性。

表 6–3 标准物理目的地属性的停用消息队列处理

属性 

停用消息队列的独特处理 

limitBehavior

停用消息队列的默认值为 REMOVE_OLDEST。(其他队列的默认值为 REJECT_NEWEST)停用消息队列不支持流控制。

localDeliveryPreferred

不适用于停用消息队列。 

maxNumMsgs

停用消息队列的默认值为 1000。对于其他队列,默认值为 -1(无限制)。

maxNumProducers

不适用于停用消息队列。 

maxTotalMsgBytes

对于停用消息队列,默认值为 10 MB。对于其他队列,默认值为 -1(无限制)。

isLocalOnly

在代理群集中,停用消息队列始终是全局物理目的地,此属性永久性地设置为 false

消息内容

代理可以将完整的消息放入停用消息队列中,也可以丢弃消息主体内容,而只保留标题和属性数据。默认情况下,停用消息队列存储完整的消息。

如果要减小停用消息队列的大小并且不打算恢复停用消息,请考虑将 imq.destination.DMQ.truncateBody 代理属性设置为 true

imqcmd update bkr -o imq.destination.DMQ.truncateBody=true

这将丢弃消息主体,而只保留标题和属性数据。