Class StompHeaderAccessor
MessageHeaderAccessor
to use when creating a Message
from
a decoded STOMP frame, or when encoding a Message
to a STOMP frame.
When created from STOMP frame content, the actual STOMP headers are
stored in the native header sub-map managed by the parent class
NativeMessageHeaderAccessor
while the parent class SimpMessageHeaderAccessor
manages common
processing headers some of which are based on STOMP headers
(for example, destination, content-type, etc).
An instance of this class can also be created by wrapping an existing
Message
. That message may have been created with the more generic
SimpMessageHeaderAccessor
in
which case STOMP headers are created from common processing headers.
In this case it is also necessary to invoke either
updateStompCommandAsClientMessage()
or
updateStompCommandAsServerMessage()
if sending a message and
depending on whether a message is sent to a client or the message broker.
- Since:
- 4.0
- Author:
- Rossen Stoyanchev
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
Fields inherited from class org.springframework.messaging.simp.SimpMessageHeaderAccessor
CONNECT_MESSAGE_HEADER, DESTINATION_HEADER, DISCONNECT_MESSAGE_HEADER, HEART_BEAT_HEADER, IGNORE_ERROR, MESSAGE_TYPE_HEADER, ORIGINAL_DESTINATION, SESSION_ATTRIBUTES, SESSION_ID_HEADER, SUBSCRIPTION_ID_HEADER, USER_HEADER
Fields inherited from class org.springframework.messaging.support.NativeMessageHeaderAccessor
NATIVE_HEADERS
Fields inherited from class org.springframework.messaging.support.MessageHeaderAccessor
DEFAULT_CHARSET
-
Method Summary
Modifier and TypeMethodDescriptionstatic StompHeaderAccessor
create
(StompCommand command) Create an instance for the given STOMP command.static StompHeaderAccessor
Create an instance for the given STOMP command and headers.protected MessageHeaderAccessor
createAccessor
(Message<?> message) Build a 'nested' accessor for the given message.static StompHeaderAccessor
Create headers for a heartbeat.getAck()
Return the STOMP command, ornull
if not yet set.static StompCommand
getCommand
(Map<String, Object> headers) Return the STOMP command from the given headers, ornull
if not set.static Integer
getContentLength
(Map<String, List<String>> nativeHeaders) getDetailedLogMessage
(Object payload) Return a more detailed message for logging purposes.long[]
getHost()
getLogin()
getNack()
Subclasses can use this method to access the "native" headers sub-map.Return the passcode header value, ornull
if not set.static String
getPasscode
(Map<String, Object> headers) Return the passcode header value, ornull
if not set.getShortLogMessage
(Object payload) Return a concise message for logging purposes.boolean
void
setAcceptVersion
(String acceptVersion) void
void
setContentLength
(int contentLength) void
setContentType
(MimeType contentType) void
setDestination
(String destination) void
setHeartbeat
(long cx, long cy) void
void
void
setMessage
(String content) void
setMessageId
(String id) void
void
setPasscode
(String passcode) void
setReceipt
(String receiptId) void
setReceiptId
(String receiptId) void
setSubscriptionId
(String subscriptionId) void
setVersion
(String version) void
static StompHeaderAccessor
Create an instance from the payload and headers of the given Message.Methods inherited from class org.springframework.messaging.simp.SimpMessageHeaderAccessor
create, create, getDestination, getDestination, getHeartbeat, getMessageType, getMessageType, getSessionAttributes, getSessionAttributes, getSessionId, getSessionId, getSubscriptionId, getSubscriptionId, getUser, getUser, setMessageTypeIfNotSet, setSessionAttributes, setSessionId, setUser, setUserChangeCallback
Methods inherited from class org.springframework.messaging.support.NativeMessageHeaderAccessor
addNativeHeader, addNativeHeaders, containsNativeHeader, copyHeaders, copyHeadersIfAbsent, getFirstNativeHeader, getFirstNativeHeader, getNativeHeader, removeNativeHeader, setImmutable, setNativeHeader, setNativeHeaderValues, toNativeHeaderMap
Methods inherited from class org.springframework.messaging.support.MessageHeaderAccessor
fromMap, fromMessageHeaders, getAccessor, getAccessor, getAccessor, getContentType, getDetailedPayloadLogMessage, getErrorChannel, getHeader, getId, getMessageHeaders, getMutableAccessor, getReplyChannel, getShortPayloadLogMessage, getTimestamp, isModified, isMutable, isReadableContentType, isReadOnly, removeHeader, removeHeaders, setErrorChannel, setErrorChannelName, setHeader, setHeaderIfAbsent, setLeaveMutable, setModified, setReplyChannel, setReplyChannelName, toMap, toMessageHeaders, toString, verifyType
-
Field Details
-
STOMP_ID_HEADER
- See Also:
-
STOMP_HOST_HEADER
- See Also:
-
STOMP_ACCEPT_VERSION_HEADER
- See Also:
-
STOMP_MESSAGE_ID_HEADER
- See Also:
-
STOMP_RECEIPT_HEADER
- See Also:
-
STOMP_RECEIPT_ID_HEADER
- See Also:
-
STOMP_SUBSCRIPTION_HEADER
- See Also:
-
STOMP_VERSION_HEADER
- See Also:
-
STOMP_MESSAGE_HEADER
- See Also:
-
STOMP_ACK_HEADER
- See Also:
-
STOMP_NACK_HEADER
- See Also:
-
STOMP_LOGIN_HEADER
- See Also:
-
STOMP_PASSCODE_HEADER
- See Also:
-
STOMP_DESTINATION_HEADER
- See Also:
-
STOMP_CONTENT_TYPE_HEADER
- See Also:
-
STOMP_CONTENT_LENGTH_HEADER
- See Also:
-
STOMP_HEARTBEAT_HEADER
- See Also:
-
-
Method Details
-
createAccessor
Description copied from class:MessageHeaderAccessor
Build a 'nested' accessor for the given message.- Overrides:
createAccessor
in classSimpMessageHeaderAccessor
- Parameters:
message
- the message to build a new accessor for- Returns:
- the nested accessor (typically a specific subclass)
-
getNativeHeaders
Description copied from class:NativeMessageHeaderAccessor
Subclasses can use this method to access the "native" headers sub-map.- Overrides:
getNativeHeaders
in classNativeMessageHeaderAccessor
-
updateStompCommandAsClientMessage
-
updateStompCommandAsServerMessage
public void updateStompCommandAsServerMessage() -
getCommand
Return the STOMP command, ornull
if not yet set. -
isHeartbeat
public boolean isHeartbeat() -
getHeartbeat
public long[] getHeartbeat() -
setAcceptVersion
-
getAcceptVersion
-
setHost
-
getHost
-
setDestination
- Overrides:
setDestination
in classSimpMessageHeaderAccessor
-
setContentType
- Overrides:
setContentType
in classMessageHeaderAccessor
-
setSubscriptionId
- Overrides:
setSubscriptionId
in classSimpMessageHeaderAccessor
-
getContentLength
-
setContentLength
public void setContentLength(int contentLength) -
setHeartbeat
public void setHeartbeat(long cx, long cy) -
setAck
-
getAck
-
setNack
-
getNack
-
setLogin
-
getLogin
-
setPasscode
-
getPasscode
Return the passcode header value, ornull
if not set. -
setReceiptId
-
getReceiptId
-
setReceipt
-
getReceipt
-
getMessage
-
setMessage
-
getMessageId
-
setMessageId
-
getVersion
-
setVersion
-
getShortLogMessage
Description copied from class:MessageHeaderAccessor
Return a concise message for logging purposes.- Overrides:
getShortLogMessage
in classSimpMessageHeaderAccessor
- Parameters:
payload
- the payload that corresponds to the headers.- Returns:
- the message
-
getDetailedLogMessage
Description copied from class:MessageHeaderAccessor
Return a more detailed message for logging purposes.- Overrides:
getDetailedLogMessage
in classSimpMessageHeaderAccessor
- Parameters:
payload
- the payload that corresponds to the headers.- Returns:
- the message
-
create
Create an instance for the given STOMP command. -
create
Create an instance for the given STOMP command and headers. -
createForHeartbeat
Create headers for a heartbeat. While a STOMP heartbeat frame does not have headers, a session id is needed for processing purposes at a minimum. -
wrap
Create an instance from the payload and headers of the given Message. -
getCommand
Return the STOMP command from the given headers, ornull
if not set. -
getPasscode
Return the passcode header value, ornull
if not set. -
getContentLength
-