Class | Stomp::Client |
In: |
lib/stomp/client.rb
lib/client/utils.rb lib/client/utils.rb lib/stomp/client.rb |
Parent: | Object |
Typical Stomp client class. Uses a listener thread to receive frames from the server, any thread can send.
Receives all happen in one thread, so consider not doing much processing in that thread if you have much message volume.
host | [R] | The Stomp host specified by the client. |
host | [R] | The Stomp host specified by the client. |
login | [R] | The login ID used by the client. |
login | [R] | The login ID used by the client. |
parameters | [R] | Parameters Hash, possibly nil for a non-hashed connect. |
parameters | [R] | Parameters Hash, possibly nil for a non-hashed connect. |
passcode | [R] | The login credentials used by the client. |
passcode | [R] | The login credentials used by the client. |
port | [R] | The Stomp host‘s listening port. |
port | [R] | The Stomp host‘s listening port. |
reliable | [R] | Is this connection reliable? |
reliable | [R] | Is this connection reliable? |
A new Client object can be initialized using three forms:
Hash (this is the recommended Client initialization method):
hash = { :hosts => [ {:login => "login1", :passcode => "passcode1", :host => "localhost", :port => 61616, :ssl => false}, {:login => "login2", :passcode => "passcode2", :host => "remotehost", :port => 61617, :ssl => false} ], :reliable => true, :initial_reconnect_delay => 0.01, :max_reconnect_delay => 30.0, :use_exponential_back_off => true, :back_off_multiplier => 2, :max_reconnect_attempts => 0, :randomize => false, :connect_timeout => 0, :connect_headers => {}, :parse_timeout => 5, :logger => nil, :dmh => false, :closed_check => true, :hbser => false, :stompconn => false, :usecrlf => false, :max_hbread_fails => 0, :max_hbrlck_fails => 0, } e.g. c = Stomp::Client.new(hash)
Positional parameters:
login (String, default : '') passcode (String, default : '') host (String, default : 'localhost') port (Integer, default : 61613) reliable (Boolean, default : false) e.g. c = Stomp::Client.new('login', 'passcode', 'localhost', 61613, true)
Stomp URL :
A Stomp URL must begin with 'stomp://' and can be in one of the following forms: stomp://host:port stomp://host.domain.tld:port stomp://login:passcode@host:port stomp://login:passcode@host.domain.tld:port e.g. c = Stomp::Client.new(urlstring)
A new Client object can be initialized using three forms:
Hash (this is the recommended Client initialization method):
hash = { :hosts => [ {:login => "login1", :passcode => "passcode1", :host => "localhost", :port => 61616, :ssl => false}, {:login => "login2", :passcode => "passcode2", :host => "remotehost", :port => 61617, :ssl => false} ], :reliable => true, :initial_reconnect_delay => 0.01, :max_reconnect_delay => 30.0, :use_exponential_back_off => true, :back_off_multiplier => 2, :max_reconnect_attempts => 0, :randomize => false, :connect_timeout => 0, :connect_headers => {}, :parse_timeout => 5, :logger => nil, :dmh => false, :closed_check => true, :hbser => false, :stompconn => false, :usecrlf => false, :max_hbread_fails => 0, :max_hbrlck_fails => 0, } e.g. c = Stomp::Client.new(hash)
Positional parameters:
login (String, default : '') passcode (String, default : '') host (String, default : 'localhost') port (Integer, default : 61613) reliable (Boolean, default : false) e.g. c = Stomp::Client.new('login', 'passcode', 'localhost', 61613, true)
Stomp URL :
A Stomp URL must begin with 'stomp://' and can be in one of the following forms: stomp://host:port stomp://host.domain.tld:port stomp://login:passcode@host:port stomp://login:passcode@host.domain.tld:port e.g. c = Stomp::Client.new(urlstring)
open is syntactic sugar for ‘Client.new’, see ‘initialize’ for usage.
open is syntactic sugar for ‘Client.new’, see ‘initialize’ for usage.
Acknowledge a message, used when a subscription has specified client acknowledgement ( connection.subscribe("/queue/a",{:ack => ‘client’}). Accepts a transaction header ( :transaction => ‘some_transaction_id’ ).
Acknowledge a message, used when a subscription has specified client acknowledgement ( connection.subscribe("/queue/a",{:ack => ‘client’}). Accepts a transaction header ( :transaction => ‘some_transaction_id’ ).
close frees resources in use by this client. The listener thread is terminated, and disconnect on the connection is called.
close frees resources in use by this client. The listener thread is terminated, and disconnect on the connection is called.
join the listener thread for this client, generally used to wait for a quit signal.
join the listener thread for this client, generally used to wait for a quit signal.
Poll for asynchronous messages issued by broker. Return nil of no message available, else the message
Poll for asynchronous messages issued by broker. Return nil of no message available, else the message
Publishes message to destination. If a block is given a receipt will be requested and passed to the block on receipt. Accepts a transaction header ( :transaction => ‘some_transaction_id’ ).
Publishes message to destination. If a block is given a receipt will be requested and passed to the block on receipt. Accepts a transaction header ( :transaction => ‘some_transaction_id’ ).
Subscribe to a destination, must be passed a block which will be used as a callback listener. Accepts a transaction header ( :transaction => ‘some_transaction_id’ ).