Class AMQP::Session
In: lib/amqp/session.rb
Parent: AMQ::Client::EventMachineClient

AMQP session represents connection to the broker. Session objects let you define callbacks for various TCP connection lifecycle events, for instance:

  • Connection is established
  • Connection has failed
  • Authentication has failed
  • Connection is lost (there is a network failure)
  • AMQP connection is opened
  • AMQP connection parameters (tuning) are negotiated and accepted by the broker
  • AMQP connection is properly closed

h2. Key methods

@api public

Methods

Attributes

server_capabilities  [R]  Server capabilities (usually used to detect AMQP 0.9.1 extensions like basic.nack, publisher confirms and so on)

@return [Hash] @see bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.1.3)

server_locales  [R]  Locales server supports

@see bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.1.3)

server_properties  [R]  Server properties (product information, platform, et cetera)

@return [Hash] @see bit.ly/htCzCX AMQP 0.9.1 protocol documentation (Section 1.4.2.1.3)

Public Class methods

Overrides authentication failure exception to one that inherits from AMQP::Error and thus is backwards compatible.

@private @api plugin @return [Class] AMQP::PossibleAuthenticationFailureError

@group Connecting, reconnecting, disconnecting

Overrides TCP connection failure exception to one that inherits from AMQP::Error and thus is backwards compatible.

@private @api plugin @return [Class] AMQP::TCPConnectionFailed

Public Instance methods

after_connection_interruption(&block)
after_recovery(&block)

Alias for on_recovery

Performs recovery of channels that are in the automatic recovery mode.

@see Channel#auto_recover @see Queue#auto_recover @see Exchange#auto_recover @api plugin

@return [Boolean] whether connection is in the automatic recovery mode @api public

auto_recovery?()

Alias for auto_recovering?

Defines a callback that will be executed after TCP connection has recovered after a network failure but before AMQP connection is re-opened. Only one callback can be defined (the one defined last replaces previously added ones).

@api public

@return [AMQP::Broker] Broker this connection is established with

@return [String] Broker endpoint in the form of HOST:PORT/VHOST @api public

close(reply_code = 200, reply_text = "Goodbye", &block)

Alias for disconnect

@return [Boolean] true if this AMQP connection is currently open @api plugin

Properly close connection with AMQ broker, as described in section 2.2.4 of the {bit.ly/hw2ELX AMQP 0.9.1 specification}.

@api plugin @see close_connection

host()

Alias for hostname

@return [String] Broker hostname this connection uses @api public

Defines a callback that will be run when broker confirms connection termination (client receives connection.close-ok). You can define more than one callback.

@see on_closed @api public

Defines a callback that will be executed after TCP connection is interrupted (typically because of a network failure). Only one callback can be defined (the one defined last replaces previously added ones).

@api public

Defines a callback that will be executed when connection is closed after connection-level exception. Only one callback can be defined (the one defined last replaces previously added ones).

@api public

Defines a callback that will be executed when AMQP connection is considered open: after client and broker has agreed on max channel identifier and maximum allowed frame size and authentication succeeds. You can define more than one callback.

@see on_closed @api public

Defines a callback that will be run when TCP connection is closed before authentication finishes. Usually this means authentication failure. You can define only one callback.

@api public

Defines a callback that will be executed after AMQP connection has recovered after a network failure.. Only one callback can be defined (the one defined last replaces previously added ones).

@api public

Defines a callback that will be run when initial TCP connection fails. You can define only one callback.

@api public

Defines a callback that will be run when initial TCP connection fails. You can define only one callback.

@api public

@return [String] Broker port this connection uses @api public

Reconnect to the broker using current connection settings.

@param [Boolean] force Enforce immediate connection @param [Fixnum] period If given, reconnection will be delayed by this period, in seconds. @api public

A version of reconnect that allows connecting to different endpoints (hosts). @see reconnect @api public

user()

Alias for username

@return [String] Username used by this connection @api public

[Validate]