Streaming Text Oriented Messaging Protocol

Short description: Communications protocol

Streaming Text Oriented Messaging ProtocolCommunication protocol

Purpose| Message-oriented middleware
Introduced| Error: first parameter is missing. ()
OSI layer| Application layer (Layer 7)

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.[1][2]

## Contents

* 1 Overview
* 2 Example
* 3 Implementations
* 4 References

## Overview

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

* 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 <key>: <value> (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

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

hello queue a

## Implementations

Some message-oriented middleware products support STOMP,[4] such as::

* Apache ActiveMQ
* Fuse Message Broker[5]
* HornetQ
* Open Message Queue (OpenMQ)
* RabbitMQ[6]
* syslog-ng[7]
* Spring Framework[8]

## References

1. ↑ "STOMP - The Simple Text Oriented Messaging Protocol". https://stomp.github.io.
2. ↑ Vanessa Wang; Frank Salim; Peter Moskovits (2013). "Using Messaging over WebSocket with STOMP". The Definitive Guide to HTML5 WebSocket. Apress. pp. 85–108. doi:10.1007/978-1-4302-4741-8_5. ISBN 978-1-4302-4740-1. https://link.springer.com/chapter/10.1007/978-1-4302-4741-8_5.
3. ↑ "STOMP Protocol Specification, Version 1.2". https://stomp.github.io/stomp-specification-1.2.html.
4. ↑ "STOMP Servers". https://stomp.github.io/implementations.html.
5. ↑ "Red Hat Fuse - Distributed, cloud-native integration platform". 23 October 2024. https://developers.redhat.com/products/fuse/download.
6. ↑ "STOMP Plugin". https://www.rabbitmq.com/docs/stomp.
7. ↑ "syslog-ng documentation - stomp() destination options". https://syslog-ng.github.io/admin-guide/070_Destinations/280_Stomp/000_Stomp_options.html.
8. ↑ "Spring Framework - STOMP". https://docs.spring.io/spring-framework/reference/web/websocket/stomp.html.

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Streaming Text Oriented Messaging Protocol. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Streaming_Text_Oriented_Messaging_Protocol&oldid=3956070"