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

整数 

green:0 yellow:80 orange:90 red:98

触发内存资源状态的占用百分比(其中 resourceState 为 green、yellow、 orange 或 red)

imq.resourceState .count

整数 

green:5000 yellow:500 orange:50 red:0

在检查是否达到内存资源状态阈值之前,允许在一批中传入的最大消息数(其中 resourceState 为 green、yellow、orange 或 red)

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

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_OLDEST 或 REMOVE_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,将仅仅丢弃停用消息。