protected void sendMessageToSubscribers(@Nullable String destination, Message<?> message) { MultiValueMap<String,String> subscriptions = this.subscriptionRegistry.findSubscriptions(message); if (!subscriptions.isEmpty() && logger.isDebugEnabled()) { logger.debug("Broadcasting to " + subscriptions.size() + " sessions.");
this.subscriptionRegistry.registerSubscription(message); this.subscriptionRegistry.unregisterSubscription(message);
private void handleDisconnect(String sessionId, @Nullable Principal user, @Nullable Message<?> origMessage) { this.sessions.remove(sessionId); this.subscriptionRegistry.unregisterAllSubscriptions(sessionId); SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.DISCONNECT_ACK); accessor.setSessionId(sessionId); if (user != null) { accessor.setUser(user); } if (origMessage != null) { accessor.setHeader(SimpMessageHeaderAccessor.DISCONNECT_MESSAGE_HEADER, origMessage); } initHeaders(accessor); Message<byte[]> message = MessageBuilder.createMessage(EMPTY_PAYLOAD, accessor.getMessageHeaders()); getClientOutboundChannel().send(message); }
protected void sendMessageToSubscribers(@Nullable String destination, Message<?> message) { MultiValueMap<String,String> subscriptions = this.subscriptionRegistry.findSubscriptions(message); if (!subscriptions.isEmpty() && logger.isDebugEnabled()) { logger.debug("Broadcasting to " + subscriptions.size() + " sessions.");
this.subscriptionRegistry.registerSubscription(message); this.subscriptionRegistry.unregisterSubscription(message);
private void handleDisconnect(String sessionId, @Nullable Principal user, @Nullable Message<?> origMessage) { this.sessions.remove(sessionId); this.subscriptionRegistry.unregisterAllSubscriptions(sessionId); SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.DISCONNECT_ACK); accessor.setSessionId(sessionId); if (user != null) { accessor.setUser(user); } if (origMessage != null) { accessor.setHeader(SimpMessageHeaderAccessor.DISCONNECT_MESSAGE_HEADER, origMessage); } initHeaders(accessor); Message<byte[]> message = MessageBuilder.createMessage(EMPTY_PAYLOAD, accessor.getMessageHeaders()); getClientOutboundChannel().send(message); }
private boolean containsDestination(String destination, SubscriptionRegistry subscriptionRegistry) { StompHeaderAccessor stompHeaderAccessor = StompHeaderAccessor.create(StompCommand.MESSAGE); stompHeaderAccessor.setDestination(destination); Message<byte[]> message = MessageBuilder.createMessage(new byte[0], stompHeaderAccessor.toMessageHeaders()); MultiValueMap<String, String> subscriptions = subscriptionRegistry.findSubscriptions(message); return !subscriptions.isEmpty(); }
this.subscriptionRegistry.registerSubscription(message); this.subscriptionRegistry.unregisterSubscription(message);
private void handleDisconnect(String sessionId, @Nullable Principal user, @Nullable Message<?> origMessage) { this.sessions.remove(sessionId); this.subscriptionRegistry.unregisterAllSubscriptions(sessionId); SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.DISCONNECT_ACK); accessor.setSessionId(sessionId); if (user != null) { accessor.setUser(user); } if (origMessage != null) { accessor.setHeader(SimpMessageHeaderAccessor.DISCONNECT_MESSAGE_HEADER, origMessage); } initHeaders(accessor); Message<byte[]> message = MessageBuilder.createMessage(EMPTY_PAYLOAD, accessor.getMessageHeaders()); getClientOutboundChannel().send(message); }
private boolean containsDestination(String destination, SubscriptionRegistry subscriptionRegistry) { StompHeaderAccessor stompHeaderAccessor = StompHeaderAccessor.create(StompCommand.MESSAGE); stompHeaderAccessor.setDestination(destination); Message<byte[]> message = MessageBuilder.createMessage(new byte[0], stompHeaderAccessor.toMessageHeaders()); MultiValueMap<String, String> subscriptions = subscriptionRegistry.findSubscriptions(message); return !subscriptions.isEmpty(); }
this.subscriptionRegistry.registerSubscription(message); this.subscriptionRegistry.unregisterSubscription(message);
private void handleDisconnect(String sessionId, @Nullable Principal user, @Nullable Message<?> origMessage) { this.sessions.remove(sessionId); this.subscriptionRegistry.unregisterAllSubscriptions(sessionId); SimpMessageHeaderAccessor accessor = SimpMessageHeaderAccessor.create(SimpMessageType.DISCONNECT_ACK); accessor.setSessionId(sessionId); if (user != null) { accessor.setUser(user); } if (origMessage != null) { accessor.setHeader(SimpMessageHeaderAccessor.DISCONNECT_MESSAGE_HEADER, origMessage); } initHeaders(accessor); Message<byte[]> message = MessageBuilder.createMessage(EMPTY_PAYLOAD, accessor.getMessageHeaders()); getClientOutboundChannel().send(message); }
headers.setDestination("/queue/foo"); message = MessageBuilder.withPayload(ByteBuffer.allocate(0).array()).setHeaders(headers).build(); MultiValueMap<String, String> subscriptions = subscriptionRegistry.findSubscriptions(message); assertFalse(subscriptions.isEmpty()); List<String> subscription = subscriptions.values().iterator().next();
protected void sendMessageToSubscribers(@Nullable String destination, Message<?> message) { MultiValueMap<String,String> subscriptions = this.subscriptionRegistry.findSubscriptions(message); if (!subscriptions.isEmpty() && logger.isDebugEnabled()) { logger.debug("Broadcasting to " + subscriptions.size() + " sessions.");
protected void sendMessageToSubscribers(@Nullable String destination, Message<?> message) { MultiValueMap<String,String> subscriptions = this.subscriptionRegistry.findSubscriptions(message); if (!subscriptions.isEmpty() && logger.isDebugEnabled()) { logger.debug("Broadcasting to " + subscriptions.size() + " sessions.");