public class StompHeaderAccessor extends SimpMessageHeaderAccessor
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
(e.g. 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.
Modifier and Type | Field and Description |
---|---|
static String |
STOMP_ACCEPT_VERSION_HEADER |
static String |
STOMP_ACK_HEADER |
static String |
STOMP_CONTENT_LENGTH_HEADER |
static String |
STOMP_CONTENT_TYPE_HEADER |
static String |
STOMP_DESTINATION_HEADER |
static String |
STOMP_HEARTBEAT_HEADER |
static String |
STOMP_HOST_HEADER |
static String |
STOMP_ID_HEADER |
static String |
STOMP_LOGIN_HEADER |
static String |
STOMP_MESSAGE_HEADER |
static String |
STOMP_MESSAGE_ID_HEADER |
static String |
STOMP_NACK_HEADER |
static String |
STOMP_PASSCODE_HEADER |
static String |
STOMP_RECEIPT_HEADER |
static String |
STOMP_RECEIPT_ID_HEADER |
static String |
STOMP_SUBSCRIPTION_HEADER |
static String |
STOMP_VERSION_HEADER |
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
NATIVE_HEADERS
DEFAULT_CHARSET
Modifier and Type | Method and Description |
---|---|
static StompHeaderAccessor |
create(StompCommand command)
Create an instance for the given STOMP command.
|
static StompHeaderAccessor |
create(StompCommand command,
Map<String,List<String>> headers)
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 |
createForHeartbeat()
Create headers for a heartbeat.
|
Set<String> |
getAcceptVersion() |
String |
getAck() |
StompCommand |
getCommand()
Return the STOMP command, or
null if not yet set. |
static StompCommand |
getCommand(Map<String,Object> headers)
Return the STOMP command from the given headers, or
null if not set. |
Integer |
getContentLength() |
static Integer |
getContentLength(Map<String,List<String>> nativeHeaders) |
String |
getDetailedLogMessage(Object payload)
Return a more detailed message for logging purposes.
|
long[] |
getHeartbeat() |
String |
getHost() |
String |
getLogin() |
String |
getMessage() |
String |
getMessageId() |
String |
getNack() |
protected Map<String,List<String>> |
getNativeHeaders()
Subclasses can use this method to access the "native" headers sub-map.
|
String |
getPasscode()
Return the passcode header value, or
null if not set. |
static String |
getPasscode(Map<String,Object> headers)
Return the passcode header value, or
null if not set. |
String |
getReceipt() |
String |
getReceiptId() |
String |
getShortLogMessage(Object payload)
Return a concise message for logging purposes.
|
String |
getVersion() |
boolean |
isHeartbeat() |
void |
setAcceptVersion(String acceptVersion) |
void |
setAck(String ack) |
void |
setContentLength(int contentLength) |
void |
setContentType(MimeType contentType) |
void |
setDestination(String destination) |
void |
setHeartbeat(long cx,
long cy) |
void |
setHost(String host) |
void |
setLogin(String login) |
void |
setMessage(String content) |
void |
setMessageId(String id) |
void |
setNack(String nack) |
void |
setPasscode(String passcode) |
void |
setReceipt(String receiptId) |
void |
setReceiptId(String receiptId) |
void |
setSubscriptionId(String subscriptionId) |
void |
setVersion(String version) |
StompCommand |
updateStompCommandAsClientMessage() |
void |
updateStompCommandAsServerMessage() |
static StompHeaderAccessor |
wrap(Message<?> message)
Create an instance from the payload and headers of the given Message.
|
create, create, getDestination, getDestination, getHeartbeat, getMessageType, getMessageType, getSessionAttributes, getSessionAttributes, getSessionId, getSessionId, getSubscriptionId, getSubscriptionId, getUser, getUser, setMessageTypeIfNotSet, setSessionAttributes, setSessionId, setUser, setUserChangeCallback
addNativeHeader, addNativeHeaders, containsNativeHeader, copyHeaders, getFirstNativeHeader, getFirstNativeHeader, getNativeHeader, removeNativeHeader, setHeader, setImmutable, setNativeHeader, toNativeHeaderMap
copyHeadersIfAbsent, getAccessor, getAccessor, getAccessor, getContentType, getDetailedPayloadLogMessage, getErrorChannel, getHeader, getId, getMessageHeaders, getMutableAccessor, getReplyChannel, getShortPayloadLogMessage, getTimestamp, isModified, isMutable, isReadableContentType, isReadOnly, removeHeader, removeHeaders, setErrorChannel, setErrorChannelName, setHeaderIfAbsent, setLeaveMutable, setModified, setReplyChannel, setReplyChannelName, toMap, toMessageHeaders, toString, verifyType
public static final String STOMP_ID_HEADER
public static final String STOMP_HOST_HEADER
public static final String STOMP_ACCEPT_VERSION_HEADER
public static final String STOMP_MESSAGE_ID_HEADER
public static final String STOMP_RECEIPT_HEADER
public static final String STOMP_RECEIPT_ID_HEADER
public static final String STOMP_SUBSCRIPTION_HEADER
public static final String STOMP_VERSION_HEADER
public static final String STOMP_MESSAGE_HEADER
public static final String STOMP_ACK_HEADER
public static final String STOMP_NACK_HEADER
public static final String STOMP_LOGIN_HEADER
public static final String STOMP_PASSCODE_HEADER
public static final String STOMP_DESTINATION_HEADER
public static final String STOMP_CONTENT_TYPE_HEADER
public static final String STOMP_CONTENT_LENGTH_HEADER
public static final String STOMP_HEARTBEAT_HEADER
protected MessageHeaderAccessor createAccessor(Message<?> message)
MessageHeaderAccessor
createAccessor
in class SimpMessageHeaderAccessor
message
- the message to build a new accessor for@Nullable protected Map<String,List<String>> getNativeHeaders()
NativeMessageHeaderAccessor
getNativeHeaders
in class NativeMessageHeaderAccessor
public StompCommand updateStompCommandAsClientMessage()
public void updateStompCommandAsServerMessage()
@Nullable public StompCommand getCommand()
null
if not yet set.public boolean isHeartbeat()
public long[] getHeartbeat()
public void setAcceptVersion(String acceptVersion)
public void setDestination(@Nullable String destination)
setDestination
in class SimpMessageHeaderAccessor
public void setContentType(MimeType contentType)
setContentType
in class MessageHeaderAccessor
public void setSubscriptionId(@Nullable String subscriptionId)
setSubscriptionId
in class SimpMessageHeaderAccessor
public void setContentLength(int contentLength)
public void setHeartbeat(long cx, long cy)
@Nullable public String getPasscode()
null
if not set.public String getShortLogMessage(Object payload)
MessageHeaderAccessor
getShortLogMessage
in class SimpMessageHeaderAccessor
payload
- the payload that corresponds to the headers.public String getDetailedLogMessage(@Nullable Object payload)
MessageHeaderAccessor
getDetailedLogMessage
in class SimpMessageHeaderAccessor
payload
- the payload that corresponds to the headers.public static StompHeaderAccessor create(StompCommand command)
public static StompHeaderAccessor create(StompCommand command, Map<String,List<String>> headers)
public static StompHeaderAccessor createForHeartbeat()
public static StompHeaderAccessor wrap(Message<?> message)
@Nullable public static StompCommand getCommand(Map<String,Object> headers)
null
if not set.@Nullable public static String getPasscode(Map<String,Object> headers)
null
if not set.