List of usage examples for org.springframework.messaging.simp SimpMessageHeaderAccessor setSessionId
public void setSessionId(@Nullable String sessionId)
From source file:org.springframework.messaging.simp.annotation.support.SubscriptionMethodReturnValueHandler.java
private MessageHeaders createHeaders(@Nullable String sessionId, String subscriptionId, MethodParameter returnType) {/*w w w . j a v a 2 s . co m*/ SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.MESSAGE); if (getHeaderInitializer() != null) { getHeaderInitializer().initHeaders(accessor); } if (sessionId != null) { accessor.setSessionId(sessionId); } accessor.setSubscriptionId(subscriptionId); accessor.setHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER, returnType); accessor.setLeaveMutable(true); return accessor.getMessageHeaders(); }
From source file:org.springframework.messaging.simp.handler.SimpleBrokerMessageHandler.java
protected void sendMessageToSubscribers(String destination, Message<?> message) { MultiValueMap<String, String> subscriptions = this.subscriptionRegistry.findSubscriptions(message); for (String sessionId : subscriptions.keySet()) { for (String subscriptionId : subscriptions.get(sessionId)) { SimpMessageHeaderAccessor headers = SimpMessageHeaderAccessor.wrap(message); headers.setSessionId(sessionId); headers.setSubscriptionId(subscriptionId); Object payload = message.getPayload(); Message<?> clientMessage = MessageBuilder.withPayloadAndHeaders(payload, headers).build(); try { this.messageChannel.send(clientMessage); } catch (Throwable ex) { logger.error("Failed to send message to destination=" + destination + ", sessionId=" + sessionId + ", subscriptionId=" + subscriptionId, ex); }/* w w w. ja v a 2s . c om*/ } } }