==README * (https://github.com/stompgem/stomp/) ===Overview An implementation of the Stomp protocol for Ruby. See: * [STOMP 1.0 and 1.1] (http://stomp.github.com/index.html) ===New * Gem version 1.2.6. Miscellaneous fixes and changes. See _CHANGELOG.rdoc_ for details. * Gem version 1.2.5. Restructure. Forks with modifcations will be affected. See _CHANGELOG.rdoc_ for details. * Gem version 1.2.4. Stomp 1.1 heartbeat fix, autoflush capability, miscellaneous fixes. * Gem version 1.2.3. Miscellaneous fixes, see changelog for details. * Gem version 1.2.2. Performance and more SSL enhancements. * Full support of SSL certificates is announced as of gem version 1.2.1. * Support of Stomp protocol level 1.1 is announced as of gem version 1.2.0. See _CHANGELOG.rdoc_ for details. ===Hash Login Example Usage (this is the recommended login technique) hash = { :hosts => [ # First connect is to remotehost1 {:login => "login1", :passcode => "passcode1", :host => "remotehost1", :port => 61612, :ssl => true}, # First failover connect is to remotehost2 {:login => "login2", :passcode => "passcode2", :host => "remotehost2", :port => 61613, :ssl => false}, ], # These are the default parameters and do not need to be set :reliable => true, # reliable (use failover) :initial_reconnect_delay => 0.01, # initial delay before reconnect (secs) :max_reconnect_delay => 30.0, # max delay before reconnect :use_exponential_back_off => true, # increase delay between reconnect attpempts :back_off_multiplier => 2, # next delay multiplier :max_reconnect_attempts => 0, # retry forever, use # for maximum attempts :randomize => false, # do not radomize hosts hash before reconnect :connect_headers => {}, # user supplied CONNECT headers (req'd for Stomp 1.1+) :parse_timeout => 5, # receive / read timeout, secs :logger => nil, # user suplied callback logger instance :dmh => false, # do not support multihomed IPV4 / IPV6 hosts during failover :closed_check => true, # check first if closed in each protocol method :hbser => false, # raise on heartbeat send exception } # for client client = Stomp::Client.new(hash) # for connection connection = Stomp::Connection.new(hash) ===Positional Parameter Usage client = Stomp::Client.new("test", "user", "localhost", 61613) client.send("/queue/mine", "hello world!") client.subscribe("/queue/mine") do |msg| p msg end ===Stomp URL Usage # 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) ===Failover + SSL Example URL Usage 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.publish("/queue/mine", "hello world!") client.subscribe("/queue/mine") do |msg| p msg end ===Historical Information Up until March 2009 the project was maintained and primarily developed by Brian McCallister. ===Source Code and Project URLs https://github.com/stompgem/stomp/ ===Stomp Protocol Information : http://stomp.github.com/index.html = Contributors The following people have contributed to Stomp: * Brian McCallister * Glenn Rempe * jstrachan * Marius Mathiesen * Johan S√∏rensen * Thiago Morello * Guy M. Allard * kookster * Tony Garnock-Jones * chirino * Stefan Saasen * Neil Wilson * Dinesh Majrekar * Kiall Mac Innes * Rob Skaggs * Tom May * Lucas Hills * Chris Needham * R.I. Pienaar * tworker * James Pearson * Craig * Tommy Bishop * Jeremy Gailor