Class Qpid::Messaging::Address
In: qpid/ruby/lib/qpid_messaging/address.rb
Parent: Object

Address represents an address to which messages can be sent or from which they can be received.

The Address String

An Address can be described using the following pattern:

<address> [ / <subject> ] ; [ { <key> : <value> , … } ]

where address is a simple name and subject is a subject or subject pattern.

Options

The options, enclosed in curly braces, are key:value pairs delimited by a comma. The values can be nested maps also enclosed in curly braces. Or they can be lists of values, where they are contained within square brackets but still comma delimited, such as:

  [value1,value2,value3]

The following are the list of supported options:

create
Indicates if the address should be created; values are always, never, sender or reciever.
assert
Indicates whether or not to assert any specified node properties; values are always, never, sender or receiver.
delete
Indicates whether or not to delete the addressed node when a sender or receiver is cancelled; values are always, never, sender or receiver.
node
A nested map describing properties for the addressed node. Properties are type (topic or queue), durable (a boolean), *x-declare* (a nested map of amqp 0.10-specific options) and *x-bindings* (nested list which specifies a queue, exchange or a binding key and arguments).
link
A nested map through which properties of the link can be specified; properties are durable, reliability, *x-declare*, *x-subscribe* and *x-bindings*.
mode
(*For receivers only*) indicates whether the receiver should consume or browse messages; values are consume (the default) and browse.

Methods

address_type   address_type=   name   name=   new   options   options=   subject   subject=  

Public Class methods

Creates a new Address from an address string.

Attributes

  • address - the address string

Examples

  # create a new address for a queue named "my-queue" that will
  # be created if it doesn't already exist
  addr = Qpid::Messaging::Address.new "my-queue;{create:always}"

Public Instance methods

Returns the type for the Address.

Sets the type for the Address.

The type of the address determines how Sender and Receiver objects are constructed for it. It also affects how a reply-to address is encoded.

If no type is specified then it will be determined by querying the broker. Explicitly setting the type prevents this.

Values are either queue or topic.

Options

  • type - the address type

Examples

  # creates an queue address
  addr = Qpid::Messaging::Address.new "my-queue;{create:always}"
  addr.address_type = "queue"

Returns the name for the Address.

Examples

   # display the name of the address
   addr = Qpid::Messaging::Address.new "foo;{create:always}"
   # outputs the word 'foo'
   puts addr.name

Sets the name for the Address.

Examples

  # create a new address with the name "my-queue"
  addr = Qpid::Messaging::Address.new "my-queue/my-subject;{create:always}"
  # changes the name to "my-new-queue"
  addr.name = "my-new-queue"

Returns the options.

Sets the options for the address.

*NOTE:* See the class documentation for more details on options.

Examples

  addr.options = :create => :always
  addr.options = :create => :always, :delete => :always

Returns the subject for the Address.

Examples

  # creates a new address with the subject "bar"
  addr = Qpid::Messaging::Address.new "my-queue/bar;{create:always}"

Sets the subject for the Address.

Examples

  # creates an address with the subject "example"
  addr = Qpid::Messaging::Address.new "my-queue/example;{create:always}"
  # changes the subject to "test"
  addr.subject = "test"

[Validate]