This library is a client for the Stomp protocol. A couple servers
exist, the most mature probably being ActiveMQ ( http://
activemq.codehaus.org ) and Gozirra ( http://www.germane-software.com/
software/Java/Gozirra/ ).
While this release is labeled 1.0.0, it is not highly tested yet, so
bug reports are much appreciated!
-Brian
Installation via gems:
$ gem install stomp
Some sample code:
#!/usr/bin/env ruby -w
require 'rubygems'
require 'stomp'
# username, password, host, port
c = Stomp::Client.open "brianm", "s3kr3t", "localhost", 61613
# block will be called for each message received from the destination
c.subscribe "/queue/sample" do |message|
puts "received: #{message.body} on #{message.headers['destination']}"
end
# send a bunch of stuff (which we will receive)
for i in 1..5 do
c.send "/queue/sample", "Hello world #{i}!"
end
# wait (not very long) for delivery
gets
# done!
c.close
I was planning on writing a quick client server with drb that managed
a resource pool. Would using stomp be a better way to go?
Thanks
--
Jim Freeze
DRb is a synchronous RPC style system whereas stomp is asynchronous
message passing (though you can ask for a reply). If you need call/
response style semantics in a synchronous way drb will probably be
much better for you.
A brief intro to MOM: http://rubyurl.com/J2l
In terms of what to use: if it is all ruby <--> communication, and is
synchronous in nature, and you don't have multiple consumers for
messages, DRb is the way to go, if it is multi-language,
asynchronous, or you need multiple consumers for messages, MOM
(possibly using stomp for interop) is generally better =)
-Brian