An implementation of the Stomp protocol (stomp.codehaus.org/Protocol) for Ruby.
client = Stomp::Client.new("test", "user", "localhost", 61613) client.send("/my/queue", "hello world!") client.subscribe("/my/queue") do |msg| p msg end
options = "initialReconnectDelay=5000&randomize=false&useExponentialBackOff=false" #remotehost1 uses SSL, remotehost2 doesn't client = Stomp::Client.new("failover:(stomp+ssl://login1:passcode1@remotehost1:61612,stomp://login2:passcode2@remotehost2:61613)?#{options}") client.send("/my/queue", "hello world!") client.subscribe("/my/queue") do |msg| p msg end
hash = { :hosts => [ {:login => "login1", :passcode => "passcode1", :host => "remotehost1", :port => 61612, :ssl => true}, {:login => "login2", :passcode => "passcode2", :host => "remotehost2", :port => 61613, :ssl => false}, ], # These are the default parameters, don't need to be set :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, :backup => false, :timeout => -1, :connect_headers => {} } # for client client = Stomp::Client.new(hash) # for connection connection = Stomp::Connection.new(hash)
Up until March 2009 the project was maintained and primarily developed by Brian McCallister.
The project is now maintained by Johan Sørensen <johan@johansorensen.com>
http://gitorious.org/projects/stomp/ http://github.com/js/stomp/
Project Home :
http://gitorious.org/projects/stomp/ http://rubyforge.org/projects/stomp/
Stomp Protocol Info :
http://stomp.codehaus.org/Protocol