Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[ANN] Stomp Client Release

0 views
Skip to first unread message

Brian McCallister

unread,
Nov 9, 2005, 9:22:44 PM11/9/05
to
Stomp is a text-oriented wire protocol for messaging (MOM/MQ/JMS)
type systems. This library provides two useful interfaces, a low-
level class, Stomp::Connection, which is a basic protocol
implementation, and Stomp::Client, which is designed as a higher
level convenience API. More information is available at http://
stomp.codehaus.org/

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


Jim Freeze

unread,
Nov 10, 2005, 8:23:07 AM11/10/05
to
This looks pretty cool. (dumb question ahead) How is it different than
using DRb?

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


Brian McCallister

unread,
Nov 10, 2005, 9:59:36 AM11/10/05
to
On Nov 10, 2005, at 5:23 AM, Jim Freeze wrote:
> This looks pretty cool. (dumb question ahead) How is it different than
> using DRb?
>
> 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?

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


0 new messages