Establishes a connection to a remote endpoint.
Creates a connection object, but does not actually connect to the specified location.
:url - the URL for the broker (def. +"localhost"+) :options - connection options (def. +{}+)
The following connection options can be used to configure the reconnection behavior for this connection.
:username
:password
:heartbeat
:tcp_nodelay
:sasl_mechanism
:sasl_service
:sasl_min_ssf
:sasl_max_ssf
:transport
:reconnect - true
or false
; indicates wehtehr 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
conn = Qpid::Messaging::Connnection.new conn = Qpid::Messaging::Connection.new :url => "amqp:tcp:broker1.domain.com:5672" conn = Qpid::Messaging::Connection.new :options => {:username => "login", :password => "password"}
# File lib/qpid_messaging/connection.rb, line 65 def initialize(opts = {}) @url = opts[:url] || "localhost" @options = convert_options(opts[:options] || {}) @connection_impl = opts[:impl] || Cqpid::Connection.new(@url, @options) end
Returns the username used to authenticate with the connection.
# File lib/qpid_messaging/connection.rb, line 142 def authenticated_username; @connection_impl.getAuthenticatedUsername if open?; end
Closes the connection.
# File lib/qpid_messaging/connection.rb, line 94 def close; @connection_impl.close; end
Creates a new session.
:name - specifies the name for this session
:transactional - if true
then a creates a transaction session
(def. false
)
session = conn.create_session :name => "session1" session = conn.create_session :transaction => true
# File lib/qpid_messaging/connection.rb, line 108 def create_session(args = {}) name = args[:name] || "" if open? if args[:transactional] session = @connection_impl.createTransactionalSession name else session = @connection_impl.createSession name end return Session.new(self, session) else raise RuntimeError.new "No connection available." end end
Returns a session for the specified session name.
begin session = conn.session "mysession" rescue SessionNameException => error puts "No such session." end
# File lib/qpid_messaging/connection.rb, line 132 def session name begin session_impl = @connection_impl.getSession name Qpid::Messaging::Session.new self, session_impl if session_impl rescue raise Qpid::Messaging::SessionNameException.new "No such session: #{name}" end end
# File lib/qpid_messaging/connection.rb, line 146 def convert_options(options) result = {} unless options.nil? || options.empty? options.each_pair {|key, value| result[key.to_s] = value.to_s} end return result end