@hackage stompl0.1.1

Stomp Parser and Utilities

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. Broker and application use a protocol based on the exchange of commands and other data packets, called frames. The Stompl library provides abstractions over Stomp frames and a Stomp frame parser. It does not implement a client or broker itself, but provides abstractions to libraries and programs doing so. It is used by the Stompl Queue library (stomp-queues). More documentation and a test suite can be found on https://github.com/toschoo/mom/. The Stomp specification can be found at http://stomp.github.com.

Release History:

0.1.0
Major changes:
  • Compliance with Stomp 1.2:

  • header keys and values are now escaped; this, in fact, was missing for Stomp 1.1.

  • header keys and values are not trimmed or padded; this, as well, should have been done for Stomp 1.1 already. Be aware that Stomp 1.0-like message headers may fail now, e.g.: message : hello world is not the same anymore as message:hello world

  • carriage return (ascii 13) plus line feed (ascii 10) is now accepted as end-of-line; note that stompl never generates carriage return as end-of-line, the standard end-of-line remains line feed.

  • the Message frame may have an ack header and should have when a message is sent through a queue that requires explicit ack.

  • the mandatory header in the Ack frame is now id instead of message-id. It should correspond to ack in the message that is ack'd. Note that, to ease backward compatibility, Ack frames are generated with both: an id and a message-id header.

  • a Stomp frame was added. The Stomp frame has exactly the same format as the Connect frame, but it is handled differently with respect to escaping: Connect header keys and values are not escaped, Stomp header keys and values, however, are.

0.0.3
Major changes:
  • new attribute ClientId in Connect frame for compatibility with ActiveMQ;

  • all commands accept additional headers to ease adaptations to broker-specific features.

0.0.2
Minor corrections and documentation
0.0.1
Initial Release