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.