Class Qpid::Messaging::Connection
In: qpid/ruby/lib/qpid_messaging/connection.rb
Parent: Object

A Connection represents a network connection to a remote endpoint.


Public Class methods

Creates a connection object. Raises a MessagingError if an invalid connection option is used.


  • +:url+ - the URL for the broker
  • +:options+ - connection options

Controlling Reconnect Behavior

The following connection options can be used to configure the reconnection behavior for this connection.

  • +:username+ - the authentication username
  • +:password+ - the authentication password
  • +:heartbeat+
  • +:tcp_nodelay+
  • +:sasl_mechanism+
  • +:sasl_service+
  • +:sasl_min_ssf+
  • +:sasl_max_ssf+
  • +:transport+
  • +:reconnect+ - indicates whether to attempt reconnections
  • +:reconnect_timeout+ - the number of seconds to attempt reconnecting
  • +:reconnect_limit+ - the number of retries before reporting failure
  • +:reconnect_interval_min+ - initial delay, in seconds, before attempting a reconnection
  • +:reconnect_interval_max+ - number of seconds to wait before additional reconnect attempts
  • +:reconnect_interval+ - shorthand for setting both min and max values
  • +:reconnect_urls+ - a list of alternate URLs to use for reconnection attempts


  # creates a connection to the broker running local *localhost*
  conn =
  # creates a connection to ** on port *5672*
  conn = :url => ""
  # creates a connection to localhost with the specified authentication credentials
  conn = :options => {:username => "login", :password => "password"}

Public Instance methods

Returns the username used to authenticate with the connection.

If the connection did not user authentication credentials, then the username returned is "anonymous".


  # create a new connection for user "qpiduser"
  conn = :username => "qpiduser"
  # displays the authenticate username
  puts "Connected as #{conn.authenticated_username}" # should say 'qpiduser'

Closes the connection.


  # close a connection

Creates a new session.


  • +:name+ - specifies the name for this session
  • +:transactional+ - if true then a creates a transaction session (def. false)


  # create a session named 'session1'
  session = conn.create_session :name => "session1"
  # create a transactional session
  session = conn.create_session :transaction => true

Establishes the connection.


  # open a connection if it's not already open unless

Reports whether the connection is open.


  # close the connection if it's not already closed
  conn.close if

Returns a Session with the given name. Raises an exception if no session with the given name exists.


  • name - the existing session‘s name


  # retrieve a session named 'mysession' from the current connection
  name = "my-session"
  # if no such session exists then catchh the exception raised
    session = conn.session name
  rescue MessagingException => error
     puts "No such session: #{name}."