Streaming Text Oriented Messaging Protocol


Simple (or Streaming) Text Oriented Message Protocol (STOMP), formerly known as TTMP, is a simple text-based protocol, designed for working with message-oriented middleware (MOM). It provides an interoperable wire format that allows STOMP clients to talk with any message broker supporting the protocol.

Contents

  • 1 Overview
  • 2 Example
  • 3 Implementations
  • 4 External links

Overview[edit]

The protocol is broadly similar to HTTP, and works over TCP using the following commands:

  • CONNECT
  • SEND
  • SUBSCRIBE
  • UNSUBSCRIBE
  • BEGIN
  • COMMIT
  • ABORT
  • ACK
  • NACK
  • DISCONNECT

Communication between client and server is through a "frame" consisting of a number of lines. The first line contains the command, followed by headers in the form : (one per line), followed by a blank line and then the body content, ending in a null character. Communication between server and client is through a MESSAGE, RECEIPT or ERROR frame with a similar format of headers and body content.

Example[edit]

SEND
destination:/queue/a
content-type:text/plain

hello queue a
^@

Implementations[edit]

These are some MOM products that support STOMP:

  • Apache ActiveMQ, also known as Fuse Message Broker
  • HornetQ
  • Open Message Queue (OpenMQ)
  • )

A list of implementations is also maintained on the STOMP web site.

External links[edit]

  • STOMP website