NAME
   Dancer::Plugin::Stomp - A Dancer plugin for messaging using STOMP based
   message queues.

VERSION
   version 1.0302

SYNOPSIS
       use Dancer;
       use Dancer::Plugin::Stomp;

       post '/messages' => sub {
           stomp_send { destination => '/queue/foo', body => request->body };
       };

       dance;

DESCRIPTION
   The goal of this module is to make it as easy as possible to interact
   with a STOMP message broker. STOMP stands for Simple (or Streaming) Text
   Orientated Messaging Protocol. It is a simple and standard protocol for
   messaging systems. See <http://stomp.github.com> for more details about
   the protocol.

KEYWORDS
 stomp_send
       stomp_send \%data
       stomp_send name => \%data

   This is a convenience function that handles connection details for you.
   It sends your message using the default configured client. If you have
   only one client configured, it is your default one. If you have multiple
   clients configured, the one named "default" will be used. Doing this

       stomp_send { destination => '/queue/foo', body => 'hello' };

   is the same as:

       my $stomp = stomp();
       $stomp->connect(login => $login, passcode => $passcode);
       $stomp->send(destination => '/queue/foo', body => 'hello');
       $stomp->disconnect();

   If you have multiple clients configured, you can distinguish between
   them by providing the name of the client as the first argument, followed
   by the data as the second argument:

       stomp_send foo => { destination => '/queue/foo', body => 'hello' };

 stomp
       my $stomp = stomp
       my $stomp = stomp $name

   This simply returns a Net::Stomp object. You are responsible for
   connecting and disconnecting. When no arguments are given, it returns a
   handle to the default configured client. You may provide a name if you
   have multiple clients configured.

CONFIGURATION
   Configuration at a minimum requires a name and a host. The following
   example defines one client named "default".

       plugins:
         Stomp:
           default:
             hostname: foo.com
             port: 61613

   Multiple clients can also be configured:

       plugins:
         Stomp:
           default:
             hostname: foo.com
             port: 61613
           bar:
             hostname: bar.com
             port: 61613
             login: bob
             passcode: secret

   Failover hosts are supported:

       plugins:
         Stomp:
           default:
             hosts:
               -
                 hostname: foo.com
                 port: 61613
               -
                 hostname: bar.com
                 port: 61613

   The available configuration options for a client are:

   hostname
       This is the location of the STOMP server. It can be an ip address or
       a hostname. Either hostname or hosts is required.

   hosts
       This is to support failover hosts as documented in Net::Stomp. In
       Perl terms, it should be an arrayref of hashrefs, each of which
       contains at least a hostname and a port. Either hostname or hosts is
       required.

   port
   login
   passcode

SEE ALSO
   Net::Stomp
   POE::Component::MessageQueue
   <http://stomp.github.com>

AUTHOR
   Naveed Massjouni <[email protected]>

COPYRIGHT AND LICENSE
   This software is copyright (c) 2011 by Naveed Massjouni.

   This is free software; you can redistribute it and/or modify it under
   the same terms as the Perl 5 programming language system itself.