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 Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the complex ...
(MOM). It provides an interoperable wire format that allows STOMP clients to talk with any
message broker A message broker (also known as an integration broker or interface engine) is an intermediary computer program module that translates a message from the formal messaging protocol of the sender to the formal messaging protocol of the receiver. Mess ...
supporting the protocol.


The protocol is broadly similar to
HTTP The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, w ...
, 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 The null character (also null terminator) is a control character with the value zero. It is present in many character sets, including those defined by the Baudot and ITA2 codes, ISO/IEC 646 (or ASCII), the C0 control code, the Universal Coded Ch ...
. Communication between server and client is through a MESSAGE, RECEIPT or ERROR frame with a similar format of headers and body content.


SEND destination:/queue/a content-type:text/plain hello queue a ^@


These are some MOM products that support STOMP: * Apache ActiveMQ,
Fuse Message Broker
* HornetQ * Open Message Queue (OpenMQ) *
RabbitMQ RabbitMQ is an open-source message-broker software (sometimes called message-oriented middleware) that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Stre ...
(message broker, ha
support for STOMP
* syslog-ng through it
STOMP destination plugin

is also maintained on the STOMP web site.

External links

STOMP website
Internet protocols Application layer protocols Message-oriented middleware {{DEFAULTSORT:STOMP