<<websocket-intro>> establishes a frame of mind in which to think about
WebSocket covering adoption challenges, design considerations, and thoughts on
it is a good fit.
when it is a good fit.
<<websocket-server>> reviews the Spring WebSocket API on the
server-side while <<websocket-fallback>> explains the SockJS protocol and shows
@ -37058,7 +37058,7 @@ and server both need to understand how to interpret messages.
@@ -37058,7 +37058,7 @@ and server both need to understand how to interpret messages.
[[websocket-stomp-overview]]
==== STOMP Overview
==== Overview of the STOMP Protocol
http://stomp.github.io/stomp-specification-1.2.html#Abstract[STOMP] is a simple
messaging protocol originally created to connect to enterprise message brokers from
scripting languages such as Ruby, Python and Perl. It is designed to address a
@ -37150,7 +37150,7 @@ Spring MVC provides a programming model based on HTTP.
@@ -37150,7 +37150,7 @@ Spring MVC provides a programming model based on HTTP.
[[websocket-stomp-enable]]
==== Enable STOMP over WebSocket
==== Enable STOMP (over WebSocket)
The Spring Framework provides support for using STOMP over WebSocket through
the +spring-messaging+ and +spring-websocket+ modules. It's easy to enable it.
@ -37224,9 +37224,152 @@ Or if connecting via WebSocket (without SockJS):
@@ -37224,9 +37224,152 @@ Or if connecting via WebSocket (without SockJS):
[[websocket-stomp-handle]]
==== Handling STOMP Messages
When STOMP is enabled, the Spring application is effectively becomes a STOMP
broker to connected clients.
==== Overview of STOMP Message Handling
When a STOMP endpoint is configured, the Spring application effectively becomes
the broker to connected clients, handling incoming messages and broadcasting
messages back to them. This part of the documentation describes how STOMP
messages are handled within the application.
As mentioned in the <<websocket-intro-architecture,introduction>> the
`spring-messaging` module contains key abstractions from the
https://spring.io/spring-integration[Spring Integration] project including
`Message`, `MessageChannel`, `MessageHandler` and a few others.
[NOTE]
====
Spring Integration 4 will be the first version to start using the abstractions
from the package structure of the `spring-messaging` module as opposed to its
own present packages. Spring Integration also provides many additional
abstractions and implementations in support of the well-known