Stompl Client Library

Latest on Hackage:0.3.1

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

LGPL licensed by Tobias Schoofs
Maintained by tobias dot schoofs at gmx dot net

The Stomp Protocol specifies message-oriented interoperability. Applications connect to a message broker to send (publish) or receive (subscribe) messages through queues. Interoperating applications do not know the location or internal structure of each other. They see only each other's interfaces, i.e. the messages published and subscribed through the broker.

The Stomp Queue library provides a Stomp client, using abstractions like Connection, Transaction, Queue and Message. The library may use TLS for secure connections to brokers that provide security over TLS.

More information, examples and a test suite are available on The Stomp specification can be found at


0.3.1 Changes:

- stompl version >= 0.5.0 is now mandatory
      Rational: previous versions were very slow
                on parsing large messages.
                Version 0.5.0 solve this problem.
                Benchmarks show that messages of 1MB and
                beyond are parsed up to 10.000 times faster.


Changes (minor):

     - add these lines to the changelog...



     - New option to add a handler for error messages

     - New option to add a wait interval to wait for the error handler

0.2.0 Changes:

      - Low-level sockets were replaced by network-conduit-tls
        (Be aware that this change might introduce some
         subtle changes in behaviour concerning in particular 
         performance and connection handling)

      - OMaxRecv not used anymore

      - New Option OTLS for TLS connections

      - New Option OTmo to specify a connection timeout

0.1.4 Changes:

      - New: destroyReader and destroyWriter

      - Patterns deprecated

0.1.3 New Option for newWriter 'ONoContentLen'

0.1.2 Minor changes:

      - Dependency for stompl-0.1.1

      - Some more enquiries into potential mem leaks,
        but more to follow

0.1.1 Dependency for bytestring 0.10

0.1.0 Major changes:

      - Compliance with Stomp 1.2:

      - There are major changes in the frame format,
        please refer to the documentation of the 
        stompl package, version 0.1.0, there are important changes
        that may impact messages for older versions!

      - When generating an Ack frame,
        the *id* header is by default taken from the *ack* header
        in the corresponding Message frame.
        Should there be no *ack* header or if its value is empty,
        the value of the header *message-id* is taken.
        This behaviour complies with 1.2 
        for brokers supporting this version,
        but also continues to work with 1.1 brokers.

      - It is now possible to send a Stomp frame
        to connect to a broker (the broker, of course,
        has to accept Stomp frames and process them correctly).
        There is a new Copt (*OStomp*) to support this feature.

0.0.8 Client/Server on top of Queues.

0.0.7 Fighting with hackagedb...

0.0.6 Heartbeats caused a memory leak by creating many Connection instances in the connection state list. The connections were lazily deleted, i.e. were not deleted at all. Connection state is now cleaned up by a strict delete.

0.0.5 Major changes:

      - Underscore functions (*withConnection_*) removed; 

      - New *with* functions: *withWriter*, *withPair*;

      - New option for connection (ClientId);

      - Headers for broker-specific options can be passed to connection
        (this changes the *withConnection* type signature!)

0.0.3 New interface writeAdHoc

0.0.2 Minor corrections

0.0.1 Initial release

comments powered byDisqus