Sun Java System Message Queue 4.1 Administration Guide

Chapter 15 Physical Destination Property Reference

This chapter provides reference information about configuration properties for physical destinations.

Physical Destination Properties

Table 15–1 lists the configuration properties for physical destinations. These properties can be set when creating or updating a physical destination. For auto-created destinations, you set default values in the broker’s instance configuration file (see Table 14–3).

Table 15–1 Physical Destination Properties

Property 

Type 

Default Value 

Description 

maxNumMsgs [In a cluster environment, applies to each individual instance of a destination rather than collectively to all instances in the cluster]

Integer 

-1

Maximum number of unconsumed messages 

A value of -1 denotes an unlimited number of messages.

For the dead message queue, the default value is 1000.


Note –

When flow control is in effect (limitBehavior = FLOW_CONTROL), it is possible for the specified message limit to be exceeded because the broker cannot react quickly enough to stop the flow of incoming messages. In such cases, the value specified for maxNumMsgs serves as merely a hint for the broker rather than a strictly enforced limit.


maxBytesPerMsg

String 

-1

Maximum size, in bytes, of any single message 

Rejection of a persistent message is reported to the producing client with an exception; no notification is sent for nonpersistent messages.  

     

The value may be expressed in bytes, kilobytes, or megabytes, using the following suffixes:  

    b: Bytes


    k: Kilobytes (1024 bytes)


    m: Megabytes (1024 × 1024 = 1,048,576 bytes)


     

An unsuffixed value is expressed in bytes; a value of -1 denotes an unlimited message size.

     

Examples:

    1600: 1600 bytes


    1600b: 1600 bytes


    16k: 16 kilobytes (= 16,384 bytes)


    16m: 16 megabytes (= 16,777,216 bytes)


    -1: No limit


maxTotalMsgBytes

String 

-1

Maximum total memory, in bytes, for unconsumed messages

The syntax is the same as for maxBytesPerMsg (see above).

For the dead message queue, the default value is 10m.

limitBehavior

String 

REJECT_NEWEST

Broker behavior when memory-limit threshold reached:  

    FLOW_CONTROL: Slow down producers


    REMOVE_OLDEST: Throw out oldest messages


    REMOVE_LOW_PRIORITY: Throw out lowest-priority messages according to age; no notification to producing client


    REJECT_NEWEST: Reject newest messages; notify producing client with an exception only if message is persistent


     

If the value is REMOVE_OLDEST or REMOVE_LOW_PRIORITY and the useDMQ property is true, excess messages are moved to the dead message queue. For the dead message queue itself, the default limit behavior is REMOVE_OLDEST and cannot be set to FLOW_CONTROL.

maxNumProducers [Does not apply to dead message queue]

Integer 

100

Maximum number of message producers for destination

When this limit is reached, no new producers can be created. A value of -1 denotes an unlimited number of producers.

maxNumActiveConsumers [Queue destinations only]

Integer 

1

Maximum number of active message consumers in load-balanced delivery from queue destination

A value of -1 denotes an unlimited number of consumers.

maxNumBackupConsumers

Integer 

0

Maximum number of backup message consumers in load-balanced delivery from queue destination

A value of -1 denotes an unlimited number of consumers.

consumerFlowLimit

Integer 

1000

Maximum number of messages delivered to consumer in a single batch

In load-balanced queue delivery, this is the initial number of queued messages routed to active consumers before load balancing begins. A destination consumer can override this limit by specifying a lower value on a connection.  

A value of -1 denotes an unlimited number of messages.

isLocalOnly

Boolean 

false

Local delivery only?  

This property applies only to destinations in broker clusters, and cannot be changed once the destination has been created. If true, the destination is not replicated on other brokers and is limited to delivering messages only to local consumers (those connected to the broker on which the destination is created).

localDeliveryPreferred ,

Boolean 

false

Local delivery preferred?  

This property applies only to load-balanced queue delivery in broker clusters. If true, messages will be delivered to remote consumers only if there are no consumers on the local broker; the destination must not be restricted to local-only delivery (isLocalOnly must be false).

useDMQ

Boolean 

true

Send dead messages to dead message queue?  

If false, dead messages will simply be discarded.