Message::Passing::STOMP - input and output messages to STOMP.
# 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"}
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
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.
There are a number of message brokers which will communicate with STOMP clients, the main ones being:
RabbitMQ has a STOMP plugin.
ActiveMQ has a STOMP plugin.
Tomas (t0m) Doran <bobtfish@bobtfish.net>
Copyright The above mentioned AUTHOR 2012.
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.
To install Message::Passing::STOMP, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Message::Passing::STOMP
CPAN shell
perl -MCPAN -e shell install Message::Passing::STOMP
For more information on module installation, please visit the detailed CPAN module installation guide.