NAME
Message::Passing::STOMP - input and output messages to STOMP.
SYNOPSIS
# Terminal 1:
$ message-pass --input STDIN --output STOMP --output_options \
'{"destination":"/queue/foo","hostname":"localhost","port":"6163","username":"guest","password":"guest"}'
{"data":{"some":"data"},"@metadata":"value"}
# Terminal 2:
$ message-pass --output STDOUT --input STOMP --input_options \
'{"destination":"/queue/foo","hostname":"localhost","port":"6163","username":"guest","password":"guest"}'
{"data":{"some":"data"},"@metadata":"value"}
DESCRIPTION
An STOMP transport for Message::Passing.
STOMP is a simple and well supported messaging protocol, with clients in many languages.
This is a simple adaptor to allow you to send or receive STOMP messages
QUEUES AND TOPICS
STOMP does not specify the semantics for message destinations or subscriptions (other than that they are a string), however most common STOMP servers (including ActiveMQ and RabbitMQ) expect a string matching /queue/name or /topic/name.
Messages published to a destination prefixed by /queue/ are queued up, until a subscriber connects, at which point they are delivered. If multiple subscribers connect then the messages are distributed between the subscribers (i.e. each subscriber sees a portion of the messages).
Messages published to a destination prefixed by /topic/ are copied to all connected subscribers, however if there are no subscribers currently, they are discarded, rather than being queued up.
STOMP SERVERS
There are a number of message brokers which will communicate with STOMP clients, the main ones being:
RabbitMQ
RabbitMQ has a STOMP plugin.
ActiveMQ
ActiveMQ has a STOMP plugin.
SEE ALSO
- http://stomp.github.com/ - STOMP protocol documentation
- Message::Passing::Output::STOMP
- Message::Passing::Input::STOMP
- Message::Passing
- AnyEvent::STOMP
AUTHOR
Tomas (t0m) Doran <bobtfish@bobtfish.net>
COPYRIGHT
Copyright The above mentioned AUTHOR 2012.
LICENSE
GNU Affero General Public License, Version 3
If you feel this is too restrictive to be able to use this software, please talk to us as we'd be willing to consider re-licensing under less restrictive terms.