spring-framework / org.springframework.messaging.simp.annotation

Package org.springframework.messaging.simp.annotation

Annotations

SendToUser

class SendToUser

Annotation that indicates that the return value of a message-handling method should be sent as a org.springframework.messaging.Message to the specified destination(s) prepended with "/user/{username}" where the user name is extracted from the headers of the input message being handled.

The annotation may also be placed at class-level in which case all methods in the class where the annotation applies will inherit it.

SubscribeMapping

class SubscribeMapping

Annotation for mapping subscription messages onto specific handler methods based on the destination of a subscription. Supported with STOMP over WebSocket only (e.g. STOMP SUBSCRIBE frame).

This is a method-level annotation that can be combined with a type-level org.springframework.messaging.handler.annotation.MessageMapping.

Supports the same method arguments as @MessageMapping; however, subscription messages typically do not have a body.

The return value also follows the same rules as for @MessageMapping, except if the method is not annotated with org.springframework.messaging.handler.annotation.SendTo or SendToUser, the message is sent directly back to the connected user and does not pass through the message broker. This is useful for implementing a request-reply pattern.

NOTE: When using controller interfaces (e.g. for AOP proxying), make sure to consistently put all your mapping annotations - such as @MessageMapping and @SubscribeMapping - on the controller interface rather than on the implementation class.