Sun Java System Message Queue 3.7 UR1 管理指南

路由属性

表 14–2 中列出了与路由服务相关的代理属性。表 14–3 中列出了用于配置目的地自动创建功能的属性。

表 14–2 代理路由属性

属性 

类型 

默认值 

描述 

imq.system.max_count [可用于 imqcmd update bkr 命令]

整数 

-1

代理保存的最大消息数 

值为 -1 表示不限制消息数量。

imq.system.max_size

字符串 

-1

代理保存的消息总量的最大值 

可以使用以下后缀(分别表示字节、千字节或兆字节)来表示该值: 

    b:字节


    k:千字节(1024 字节)


    m:兆字节(1024 x 1024 = 1,048,576 字节)


     

不带后缀的值用字节表示;值为 -1 表示不限制消息容量。

     

示例:

    1600:1600 字节


    1600b:1600 字节


    16k:16 千字节(= 16,384 字节)


    16m:16 兆字节(= 16,777,216 字节)


    -1:无限制


imq.message.max_size

字符串 

70m

单个消息主体的最大大小 

语法与 imq.system.max_size 的语法相同(请参见上文)。

imq.message.expiration.interval

整数 

60

回收过期消息的时间间隔(以秒为单位) 

imq.resourceState .threshold

整数 

green0 yellow80 orange90 red98

触发内存资源状态的占用百分比(其中 resourceStategreenyellow orangered

imq.resourceState .count

整数 

green5000 yellow500 orange50 red0

在检查是否达到内存资源状态阈值之前,允许在一批中传入的最大消息数(其中 resourceStategreenyelloworangered

当系统内存越来越不足时,此限制可以限制消息生成方的数量。 

imq.destination.DMQ.truncateBody

布尔值 

false

在消息主体存储到停用消息队列之前是否将其删除? 

如果为 true,则仅保存消息头和属性数据。

imq.transaction.autorollback

布尔值 

false

是否自动回滚在代理启动时处于 PREPARED 状态的分布式事务? 

如果为 false,则必须使用命令实用程序 (imqcmd) 手动提交或回滚事务。

表 14–3 自动创建目的地的代理属性

属性 

类型 

默认值 

描述 

imq.autocreate.queue [可用于 imqcmd update bkr 命令] , [仅限于队列目的地。]

布尔值 

true

是否允许自动创建队列目的地? 

imq.autocreate.topic [仅限于主题目的地]

布尔值 

true

是否允许自动创建主题目的地? 

imq.autocreate.destination.maxNumMsgs

整数 

100000

未使用消息的最大数量 

值为 -1 表示不限制消息数量。

imq.autocreate.destination.maxBytesPerMsg

字符串 

10k

任何单条消息的最大大小(以字节为单位) 

可以使用以下后缀(分别表示字节、千字节或兆字节)来表示该值: 

    b:字节


    k:千字节(1024 字节)


    m:兆字节(1024 x 1024 = 1,048,576 字节)


     

不带后缀的值用字节表示;值为 -1 表示不限制消息大小。

     

示例:

    1600:1600 字节


    1600b:1600 字节


    16k:16 千字节(= 16,384 字节)


    16m:16 兆字节(= 16,777,216 字节)


    -1:无限制


imq.autocreate.destination.maxTotalMsgBytes

字符串 

10m

未使用的消息最多可以占用的内存总量(以字节为单位)

语法与 imq.autocreate.destination.maxBytesPerMsg 的语法相同(请参见上文)。

imq.autocreate.destination.limitBehavior

字符串 

REJECT_NEWEST

达到内存限制的阈值时,代理的行为如下: 

    FLOW_CONTROL:降低生成方速度


    REMOVE_OLDEST:丢弃最旧的消息


    REMOVE_LOW_PRIORITY:根据消息的存留期丢弃优先级最低的消息;生成方客户端不会收到通知


    REJECT_NEWEST:拒绝最新的消息;仅当消息为持久性消息时,才通知生成方客户端,并报告异常


     

如果值为 REMOVE_OLDESTREMOVE_LOW_PRIORITY ,且 imq.autocreate.destination.useDMQ 属性为 true,则会将超出限制的消息移动到停用消息队列中。

imq.autocreate.destination.maxNumProducers

整数 

100

目的地的消息生成方的最大数量

当达到此限制时,将无法创建新的生成方。值为 -1 表示不限制生成方数量。

imq.autocreate.queue.maxNumActiveConsumers

整数 

1

在来自队列目的地的负载平衡传送中活动消息使用方的最大数量

值为 -1 表示不限制使用方数量。

imq.autocreate.queue.maxNumBackupConsumers

整数 

0

在来自队列目的地的负载平衡传送中备份消息使用方的最大数量

值为 -1 表示不限制生成方数量。

imq.autocreate.queue.consumerFlowLimit

整数 

1000

在一批中传送给队列使用方的消息的最大数量

在负载平衡队列传送中,该值为负载平衡开始之前路由至活动使用方的队列消息的初始数量。目的地使用方可以通过在连接中指定一个较小的值来覆盖此限制。 

值为 -1 表示不限制消息数量。

imq.autocreate.topic.consumerFlowLimit

整数 

1000

在一批中传送给主题使用方的消息的最大数量

值为 -1 表示不限制使用方数量。

imq.autocreate.destination.isLocalOnly

布尔值 

false

仅限本地传送? 

此属性仅适用于代理群集中的目的地,目的地一旦创建,此属性即无法更改。如果为 true,将不在其他代理上复制目的地,并将目的地限制为只将消息传送到本地使用方(那些连接到创建该目的地的代理的使用方)。

imq.autocreate.queue.localDeliveryPreferred

布尔值 

false

是否首选本地传送? 

此属性仅适用于代理群集中的负载平衡队列传送。如果为 true,则只有在本地代理中不存在使用方时,才会将消息传送给远程使用方;不得将目的地限制为仅本地传送(imq.autocreate.destination.isLocalOnly 必须为 false)。

imq.autocreate.destination.useDMQ

布尔值 

true

是否将停用消息发送到停用消息队列? 

如果为 false,将仅仅丢弃停用消息。