@Target(value={TYPE,METHOD}) @Retention(value=RUNTIME) @Documented public @interface MessageMapping
Message onto message-handling methods by matching
 to the message destination. This annotation can also be used on the type-level in
 which case it defines a common destination prefix or pattern for all method-level
 annotations including method-level
 @SubscribeMapping
 annotations.
 Handler methods which are annotated with this annotation are allowed to have flexible signatures. They may have arguments of the following types, in arbitrary order:
Message to get access to the complete message being processed.Payload-annotated method arguments to extract the payload of
 a message and optionally convert it using a
 MessageConverter.
 The presence of the annotation is not required since it is assumed by default
 for method arguments that are not annotated. Payload method arguments annotated
 with Validation annotations (like
 Validated) will be subject to
 JSR-303 validation.Header-annotated method arguments to extract a specific
 header value along with type conversion with a
 Converter if necessary.Headers-annotated argument that must also be assignable to
 Map for getting access to all headers.MessageHeaders arguments for
 getting access to all headers.MessageHeaderAccessor or
 with STOMP over WebSocket support also sub-classes such as
 SimpMessageHeaderAccessor
 for convenient access to all method arguments.DestinationVariable-annotated arguments for access to template
 variable values extracted from the message destination (e.g. /hotels/{hotel}).
 Variable values will be converted to the declared method argument type.Principal method arguments are supported with
 STOMP over WebSocket messages. It reflects the user logged in to the
 WebSocket session on which the message was received. Regular HTTP-based
 authentication (e.g. Spring Security based) can be used to secure the
 HTTP handshake that initiates WebSocket sessions.By default the return value is wrapped as a message and sent to the destination
 specified with an SendTo method-level annotation.
 
STOMP over WebSocket: an SendTo annotation is not strictly required --
 by default the message will be sent to the same destination as the incoming
 message but with an additional prefix ("/topic" by default). It is also possible
 to use SendToUser to
 have the message directed to a specific user only if connected.
 Also the return value is converted with a
 MessageConverter.
SimpAnnotationMethodMessageHandlerpublic abstract String[] value
For STOMP over WebSocket messages: this is the destination of the STOMP message (e.g. "/positions"). Ant-style path patterns (e.g. "/price.stock.*") are supported and so are path template variables (e.g. "/price.stock.{ticker}"").