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

A Connection represents a network connection to a remote endpoint.

Methods

Public Class methods

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

Options

  • +: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

Examples

  # creates a connection to the broker running local *localhost*
  conn = Qpid::Messaging::Connnection.new
  # creates a connection to *broker1.domain.com* on port *5672*
  conn = Qpid::Messaging::Connection.new :url => "amqp:tcp:broker1.domain.com:5672"
  # creates a connection to localhost with the specified authentication credentials
  conn = Qpid::Messaging::Connection.new :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".

Examples

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

Closes the connection.

Examples

  # close a connection
  conn.close

Creates a new session.

Arguments

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

Examples

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

Establishes the connection.

Examples

  # open a connection if it's not already open
  conn.open unless conn.open?

Reports whether the connection is open.

Examples

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

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

Options

  • name - the existing session‘s name

Examples

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

[Validate]