Sun Java System Message Queue 3.7 UR1 管理指南

第 15 章 物理目的地属性参考

本章提供了有关物理目的地配置属性的参考信息。创建或更新物理目的地时可设置这些属性。对于自动创建的目的地,已在代理的实例配置文件中设置默认值(请参见表 14–3)。

物理目的地属性

表 15–1 物理目的地属性

属性 

类型 

默认值 

描述 

maxNumMsgs [在群集环境中,应用于目的地的各个单独实例,而不是统一应用于群集中的所有实例。]

整数 

-1

未使用消息的最大数量 

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

对于停用消息队列,默认值为 1000

maxBytesPerMsg

字符串 

-1

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

将持久性消息被拒绝的消息报告给生成方客户端,并报告异常;对于非持久性消息,则不发送任何通知。 

     

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

    b:字节


    k:千字节(1024 字节)


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


     

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

     

示例:

    1600:1600 字节


    1600b:1600 字节


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


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


    -1:无限制


maxTotalMsgBytes

字符串 

-1

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

语法与 maxBytesPerMsg 的语法相同(请参见上文)。

对于停用消息队列,默认值为 10m

limitBehavior

字符串 

REJECT_NEWEST

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

    FLOW_CONTROL:降低生成方速度


    REMOVE_OLDEST:丢弃最旧的消息


    REMOVE_LOW_PRIORITY:根据消息的存在时间丢弃优先级最低的消息;不通知生成方客户端


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


     

如果值为 REMOVE_OLDESTREMOVE_LOW_PRIORITY ,且 useDMQ 属性为 true, 则会将超出限制的消息移动到停用消息队列中。对于停用消息队列本身,默认的限制行为是 REMOVE_OLDEST,并且不能设置为 FLOW_CONTROL

maxNumProducers [无法为停用消息队列设置]

整数 

-1

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

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

maxNumActiveConsumers [仅队列目的地。]

整数 

1

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

值为 -1 表示不限制使用方数量。在 Sun Java System Message QueueTM Platform Edition 中,该值被限制为 2

maxNumBackupConsumers

整数 

0

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

值为 -1 表示不限制使用方数量。在 Sun Java System Message Queue Platform Edition 中,该值被限制为 1

consumerFlowLimit

整数 

1000

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

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

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

isLocalOnly

布尔值 

false

仅限本地传送? 

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

localDeliveryPreferred ,

布尔值 

false

是否首选本地传送? 

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

useDMQ

布尔值 

true

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

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