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, MESSAGE_TYPE_HEADER, ORIGINAL_DESTINATION, SESSION_ATTRIBUTES, SESSION_ID_HEADER, SUBSCRIPTION_ID_HEADER, USER_HEADER
NATIVE_HEADERS
DEFAULT_CHARSET, logger
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() |
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, getMessageType, getMessageType, getSessionAttributes, getSessionAttributes, getSessionId, getSessionId, getSubscriptionId, getSubscriptionId, getUser, getUser, setMessageTypeIfNotSet, setSessionAttributes, setSessionId, setUser
addNativeHeader, containsNativeHeader, getFirstNativeHeader, getNativeHeader, removeNativeHeader, setImmutable, setNativeHeader, toNativeHeaderMap
copyHeaders, copyHeadersIfAbsent, 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
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 forpublic StompCommand updateStompCommandAsClientMessage()
public void updateStompCommandAsServerMessage()
public StompCommand getCommand()
null
if not yet set.public boolean isHeartbeat()
public void setAcceptVersion(String acceptVersion)
public void setHost(String host)
public String getHost()
public void setDestination(String destination)
setDestination
in class SimpMessageHeaderAccessor
public long[] getHeartbeat()
public void setContentType(MimeType contentType)
setContentType
in class MessageHeaderAccessor
public void setSubscriptionId(String subscriptionId)
setSubscriptionId
in class SimpMessageHeaderAccessor
public Integer getContentLength()
public void setContentLength(int contentLength)
public void setHeartbeat(long cx, long cy)
public void setAck(String ack)
public String getAck()
public void setNack(String nack)
public String getNack()
public void setLogin(String login)
public String getLogin()
public void setPasscode(String passcode)
public String getPasscode()
null
if not set.public void setReceiptId(String receiptId)
public String getReceiptId()
public void setReceipt(String receiptId)
public String getReceipt()
public String getMessage()
public void setMessage(String content)
public String getMessageId()
public void setMessageId(String id)
public String getVersion()
public void setVersion(String version)
public String getShortLogMessage(Object payload)
MessageHeaderAccessor
getShortLogMessage
in class SimpMessageHeaderAccessor
payload
- the payload that corresponds to the headers.public String getDetailedLogMessage(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)
public static StompCommand getCommand(Map<String,Object> headers)
null
if not set.public static String getPasscode(Map<String,Object> headers)
null
if not set.