Appendix A. Exchange and Queue Declaration Arguments

A.1. Exchange and Queue Argument Reference

  • Updated February 2013.
  • qpid.last_value_queue and qpid.last_value_queue_no_browse deprecated and removed.
Following is a complete list of arguments for declaring queues and exchanges.

Exchange options

qpid.exclusive-binding (bool)
Ensures that a given binding key is associated with only one queue.
qpid.ive (bool)
If set to true, the exchange is an initial value exchange, which differs from other exchanges in only one way: the last message sent to the exchange is cached, and if a new queue is bound to the exchange, it attempts to route this message to the queue, if the message matches the binding criteria. This allows a new queue to use the last received message as an initial value.
qpid.msg_sequence (bool)
If set to true, the exchange inserts a sequence number named qpid.msg_sequence into the message headers of each message. The type of this sequence number is int64. The sequence number for the first message routed from the exchange is 1, it is incremented sequentially for each subsequent message. The sequence number is reset to 1 when the qpid broker is restarted.
qpid.sequence_counter (int64)
Start qpid.msg_sequence counting at the given number.

Queue options

no-local (bool)
Specifies that the queue should discard any messages enqueued by sessions on the same connection as that which declares the queue.
qpid.alert_count (uint32_t)
If the queue message count goes above this size an alert should be sent.
qpid.alert_repeat_gap (int64_t)
Controls the minimum interval between events in seconds. The default value is 60 seconds.
qpid.alert_size (int64_t)
If the queue size in bytes goes above this size an alert should be sent.
qpid.auto_delete_timeout (bool)
If a queue is configured to be automatically deleted, it will be deleted after the amount of seconds specified here.
qpid.browse-only (bool)
All users of queue are forced to browse. Limit queue size with ring, LVQ, or TTL. Note that this argument name uses a hyphen rather than an underscore.
qpid.file_count (int)
Set the number of files in the persistence journal for the queue. Default value is 8.
qpid.file_size (int64)
Set the number of pages in the file (each page is 64KB). Default value is 24.
qpid.flow_resume_count (uint32_t)
Flow resume threshold value as a message count.
qpid.flow_resume_size (uint64_t)
Flow resume threshold value in bytes.
qpid.flow_stop_count (uint32_t)
Flow stop threshold value as a message count.
qpid.flow_stop_size (uint64_t)
Flow stop threshold value in bytes.
qpid.last_value_queue (bool)
Enables last value queue behavior.
qpid.last_value_queue_key (string)
Defines the key to use for a last value queue.
qpid.last_value_queue_no_browse (bool)
Enables special mode for last value queue behavior.
qpid.max_count (uint32_t)
The maximum byte size of message data that a queue can contain before the action dictated by the policy_type is taken.
qpid.max_size (uint64_t)
The maximum number of messages that a queue can contain before the action dictated by the policy_type is taken.
qpid.msg_sequence (bool)
Causes a sequence number to be added to headers of enqueued messages.
qpid.persist_last_node (bool)
Allows for a queue to treat all transient messages as persistent when a cluster fails down to a single node. When additional nodes in the cluster are restored, the transient messages will no longer be persisted. This mode will not be triggered if a cluster is started with only one active node, and the queues in this mode must be configured to be durable.
qpid.policy_type (string)
Sets default behavior for controlling queue size. Valid values are reject, flow_to_disk, ring, and ring_strict.
qpid.priorities (size_t)
The number of distinct priority levels recognized by the queue (up to a maximum of 10). The default value is 1 level.
qpid.queue_event_generation (type: int)
If the queue is created within a program, sets the queue options to enable queue events. Use the value 1 to replicate only enqueue events, or 2 to replicate both enqueue and dequeue events.
qpid.trace.exclude (string)
Does not send on messages which include one of the given (comma separated) trace ids. (string)
Adds the given trace id as to the application header "x-qpid.trace" in messages sent from the queue.
This is an alias for qpid.alert_count.
This is an alias for qpid.alert_size.
This is an alias for qpid.alert_repeat_gap.
This is an alias for qpid.priorities.