提交 e7dde941 编写于 作者: R Rossen Stoyanchev

Update STOMP MESSAGE frames with messageId

上级 d26b9d60
......@@ -17,6 +17,7 @@
package org.springframework.web.messaging;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -85,7 +86,7 @@ public class PubSubHeaders {
this.messageHeaders = readOnly ? messageHeaders : new HashMap<String, Object>(messageHeaders);
this.rawHeaders = this.messageHeaders.containsKey(RAW_HEADERS) ?
(Map<String, String>) messageHeaders.get(RAW_HEADERS) : new HashMap<String, String>();
(Map<String, String>) messageHeaders.get(RAW_HEADERS) : Collections.<String, String>emptyMap();
if (this.messageHeaders.get(MESSAGE_TYPE) == null) {
this.messageHeaders.put(MESSAGE_TYPE, MessageType.MESSAGE);
......
......@@ -75,7 +75,8 @@ public abstract class AbstractMessageService {
logger.trace("Processing notification: " + message);
}
MessageType messageType = (MessageType) message.getHeaders().get("messageType");
PubSubHeaders headers = new PubSubHeaders(message.getHeaders(), true);
MessageType messageType = headers.getMessageType();
if (messageType == null || messageType.equals(MessageType.OTHER)) {
processOther(message);
}
......
......@@ -224,6 +224,9 @@ public class StompHeaders extends PubSubHeaders {
if (subscriptionId != null) {
getRawHeaders().put(SUBSCRIPTION, subscriptionId);
}
if (StompCommand.MESSAGE.equals(getStompCommand()) && (getMessageId() == null)) {
getRawHeaders().put(MESSAGE_ID, getMessageHeaders().get(ID).toString());
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册