Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
120 lines (81 sloc) 3.71 KB
---------------------------------------------------------------------------
Introduction
---------------------------------------------------------------------------
This is a STOMP transport plugin for use with RabbitMQ.
- http://stomp.codehaus.org/
- http://www.rabbitmq.com/
- https://dev.rabbitmq.com/wiki/StompGateway
You can get the code by checking it out from our repository with
hg clone http://hg.rabbitmq.com/rabbitmq-stomp/
Announcements regarding the transport are periodically made on the
RabbitMQ mailing list, and on LShift's blog.
- http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
- http://www.lshift.net/blog/
- http://www.lshift.net/blog/category/lshift-sw/rabbitmq/
---------------------------------------------------------------------------
Compiling
---------------------------------------------------------------------------
To build the plugin, you should have the RabbitMQ broker source code
compiled in "../rabbitmq-server". If you have a different path to the
code, supply it as a command-line argument to make as
RABBIT_SOURCE_ROOT=/some/other/path/to/rabbitmq-server.
To compile the plugin and start the server with the plugin:
make run
or make RABBIT_SOURCE_ROOT=/some/other/path/to/rabbitmq-server run
If this is successful, you should end up with "starting
STOMP-listeners ...done" and "broker running" in your terminal.
---------------------------------------------------------------------------
Configuring the broker on Debian to start the plugin automatically
---------------------------------------------------------------------------
If you've installed the rabbitmq-server package on debian or ubuntu,
the broker will pick up extra configuration from
/etc/default/rabbitmq. To tell the server to start your plugin, first
make sure it is compiled, and then add the following text to
/etc/default/rabbitmq:
SERVER_START_ARGS='
-pa /path/to/rabbitmq-stomp/ebin
-rabbit
stomp_listeners [{"0.0.0.0",61613}]
extra_startup_steps [{"STOMP-listeners",rabbit_stomp,kickstart,[]}]'
making sure to update the "/path/to/rabbitmq-stomp/ebin" appropriately
for your system. Then restart the broker with
sudo /etc/init.d/rabbitmq-server restart
You should then be able to connect to port 61613 using a STOMP client
of your choice.
---------------------------------------------------------------------------
Running the Ruby examples
---------------------------------------------------------------------------
At this point you can try out the service - for instance, you can run
the Ruby examples if you have Ruby and rubygems handy:
sudo apt-get install ruby
sudo apt-get install rubygems
sudo gem install stomp
ruby examples/ruby/cb-receiver.rb
and in another window
ruby examples/ruby/cb-sender.rb
It will transfer 10,000 short messages, and end up displaying
...
Test Message number 9998
Test Message number 9999
All Done!
in the receiver-side terminal.
---------------------------------------------------------------------------
Running the Perl examples
---------------------------------------------------------------------------
$ sudo cpan -i Net::Stomp
The examples are those from the Net::Stomp documentation - run perldoc
Net::Stomp to read the originals.
Run the receiver before the sender to make sure the queue exists at
the moment the send takes place. In one terminal window, start the
receiver:
$ perl examples/perl/rabbitmq_stomp_recv.pl
In another terminal window, run the sender:
$ perl examples/perl/rabbitmq_stomp_send.pl
$ perl examples/perl/rabbitmq_stomp_send.pl "hello world"
$ perl examples/perl/rabbitmq_stomp_send.pl QUIT
The receiver's window should contain the received messages:
$ perl examples/perl/rabbitmq_stomp_recv.pl
test message
hello
QUIT
$
Something went wrong with that request. Please try again.