Browse Source

Received message's destination is default for resp

When an annotated handler returns a Message from a @SubscribeEvent
or @MessageMapping method and it contains no destination in its
headers, use the received message's destination as the response
message's destination.
pull/286/merge
Andy Wilkinson 13 years ago committed by Rossen Stoyanchev
parent
commit
f6398e14d0
  1. 4
      spring-websocket/src/main/java/org/springframework/web/messaging/service/method/MessageReturnValueHandler.java

4
spring-websocket/src/main/java/org/springframework/web/messaging/service/method/MessageReturnValueHandler.java

@ -84,6 +84,10 @@ public class MessageReturnValueHandler implements ReturnValueHandler { @@ -84,6 +84,10 @@ public class MessageReturnValueHandler implements ReturnValueHandler {
returnHeaders.setSessionId(sessionId);
returnHeaders.setSubscriptionId(subscriptionId);
if (returnHeaders.getDestination() == null) {
returnHeaders.setDestination(headers.getDestination());
}
Object payload = returnMessage.getPayload();
return MessageBuilder.fromPayloadAndHeaders(payload, returnHeaders.toMessageHeaders()).build();
}

Loading…
Cancel
Save