Overview

This page is an attempt to collect in a single place all the extensions that have been made (through the use of arguments, options, etc.) to AMQP across the Qpid Java and C++ Brokers.

Ultimately the aim is to try to get both brokers implementing as much common functionality as possible through common extensions - and to advertise which extensions are available in a common way, so that clients can take advantage of functions that are present (or work around functions that are not).

Connection

Connection.Start

Options are carried in the server-properties field.

Name

C++

Java

Description

qpid.federation_tag

Y

Y

 

Connection.Start-Ok

Options are carried in the client-properties field.

Name

C++

Java

Description

qpid.client_pid

Y

N

Allows the process id of a client to be reported by mgmt tools

qpid.client_ppid

Y

N

Allows the parent process id of a client to be reported by mgmt tools

qpid.client_process

Y

N

Allows the process name of a client to be reported by mgmt tools

Session

???

Exchange

Exchange.Declare

Name

C++

Java

Description

qpid.ive

Y

N

Specifies 'initial value exchange' behaviour is desired

qpid.msg_sequence

Y

N

Requests that the exchange sequences all messages routed through it and adds the sequence number to the message headers

Binding

Exchange.Bind

Options are carried in the arguments field.

Name

C++

Java

Description

qpid.fed.origin

Y

Y

 

x-filter-jms-selector

N

Y*

(Java Broker topic exchange only currently) add a JMS Selector to the binding to filter messages against an SQL style query

Queue

Queue.Declare

Options are carried in the arguments field.

Name

C++

Java

Description

no-local

Y

Y

(AMQP 0-10 only). Specifies that the queue should discard any messages enqueued by sessions on the same connection as that which declares the queue

qpid.policy_type

Y

N

Valid values "reject",  "ring", "self-destruct"

qpid.max_size

Y

N

Defines the maximum size of message data (in bytes) that a queue can contain before the action dictated by the policy_type is taken.

qpid.max_count

Y

N

Defines the maximum number of messages that a queue can contain before the action dictated by the policy_type is taken.

qpid.file_count

Y

N

This is really a property of a particular store implementation (sets the number of files to use for the queue's 'journal')

qpid.file_size

Y

N

This is really a property of a particular store implementation (sets the size of the files to use for the queue's 'journal')

qpid.last_value_queue

Y

Y

Enables last value queue behaviour

qpid.last_value_queue_key

Y

Y

Defines the key to use for LVQ

qpid.last_value_queue_no_browse

Y

N

Enables special mode for last value queue behaviour (see QPID-2104), now deprecated

qpid.queue_msg_sequence

Y

N

Causes a sequence number to be added to headers of enqueued messages (non-persistent at present)

qpid.trace.id

Y

Y

Adds the given trace id as to the application header "x-qpid.trace" in messages sent from the queue

qpid.trace.exclude

Y

Y

Does not send on messages which include one of the given (comma separated) trace ids

x-qpid-priorities

Y

Y

Defines the number of distinct priority levels supported by the queue

x-qpid-maximum-message-age

N

Y

Specifies that if the oldest message on the queue gets above this age then alerts should be sent

x-qpid-maximum-message-size

Y

Y

Specifies that if the queue gets above this size (in bytes) an alert should be sent

x-qpid-maximum-message-count

Y

Y

Specified that if the queue gets above this size (in message count) an alert should be sent

x-qpid-minimum-alert-repeat-gap

Y

Y

Specified the minimum time gap between consecutive alerts

x-qpid-capacity

N

Y

Defines the size of the queue in bytes at which flow control on producers will be brought into affect

x-qpid-flow-resume-capacity

N

Y

Defines the size on bytes of the queue when flow control will be rescinded

qpid.flow_stop_count

Y

N

Defines the queue depth in messages at which flow control of producer will come into affect

qpid.flow_resume_count

Y

N

Defines the queue depth in messages at which inflow from producers will no longer be restricted

qpid.flow_stop_size

Y

N

Defines the queue depth in bytes at which flow control of producer will come into affect

qpid.flow_resume_size

Y

N

Defines the queue depth in bytes at which inflow from producers will no longer be restricted

qpid.alert_size

Y

N

Specifies that if the queue gets above this size (in bytes) an alert should be sent (alias for x-qpid-maximum-message-size)

qpid.alert_count

Y

N

Specified that if the queue gets above this size (in message count) an alert should be sent (alias for x-qpid-maximum-message-count)

qpid.alert_repeat_gap

Y

N

Specified the minimum time gap between consecutive alerts (alias for x-qpid-minimum-alert-repeat-gap)

qpid.priorities

Y

N

Defines the number of distinct priority levels supported by the queue (alias for x-qpid-priorities)

qpid.auto_delete_timeout

Y

N

Delays auto-deletion of the queue by the specified number of seconds

qpid.browse-only

Y

N

All users of queue are forced to browse. Limit queue size with ring, LVQ, or TTL.

Subscription

Message.Subscribe (Basic.Consume in 0-8/0-9)

Name

C++

Java

Description

x-filter-jms-selector

N

Y

add a JMS Selector to the subscription to filter messages against an SQL style query

x-filter-no-consume

N

Y

(0-8/0-9 only) Implements browsing for 0-8/0-9 - messages sent on the subscription are not acquired

x-filter-auto-close

N

Y

(0-8/0-9 only) The server closes the subscription when the queue becomes empty

  • No labels