An implementation of the Stomp protocol for Ruby. See:
- STOMP 1.0
- STOMP 1.0 and 1.1 Draft
require 'stomp' client = Stomp::Client.new("guest", "guest", "localhost", 61613) client.publish("/queue/myfirst", "hello world!") client.subscribe("/queue/myfirst") 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 => {}, :parse_timeout => 5, :logger => nil, } # 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> and others.
https://github.com/morellon/stomp/ 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.github.com/index.html http://stomp.codehaus.org/Protocol
The following people have contributed to Stomp:
-
Brian McCaliister
-
Glenn Rempe <glenn@rempe.us>
-
jstrachan
-
Marius Mathiesen <marius.mathiesen@gmail.com>
-
Johan S√∏rensen <johan@johansorensen.com>
-
Thiago Morello <morellon@gmail.com>
-
Guy M. Allard
-
kookster
-
Tony Garnock-Jones <tonyg@lshift.net>
-
chirino
-
Stefan Saasen
-
Neil Wilson
-
Dinesh Majrekar
-
Kiall Mac Innes
-
Rob Skaggs