destination = destinationHelper.expandTemplateVars(destination); if (broadcast) { this.messagingTemplate.convertAndSendToUser( user, destination, returnValue, createHeaders(null, returnType)); this.messagingTemplate.convertAndSendToUser( user, destination, returnValue, createHeaders(sessionId, returnType));
destination = destinationHelper.expandTemplateVars(destination); if (broadcast) { this.messagingTemplate.convertAndSendToUser( user, destination, returnValue, createHeaders(null, returnType)); this.messagingTemplate.convertAndSendToUser( user, destination, returnValue, createHeaders(sessionId, returnType));
@ExceptionHandler public void handleException(Principal principal, Throwable exception) { messagingTemplate.convertAndSendToUser(principal.getName(), "/queue/errors", exception.getMessage()); }
@Scheduled(fixedDelay = 1500) public void sendTradeNotifications() { for (TradeResult result : this.tradeResults) { if (System.currentTimeMillis() >= result.timestamp + 1500) { logger.debug("Sending position update: " + result.position); this.messagingTemplate.convertAndSendToUser(result.user, "/queue/position-updates", result.position); this.tradeResults.remove(result); } } }
private void publish(String username, TaskEvent event) { String type = event.getClass().getSimpleName(); this.messagingTemplate.convertAndSendToUser(username, "/queue/task-updates", new TaskEventNotification(type, event)); } }
@Scheduled(fixedDelay = 1500) public void sendTradeNotifications() { Map<String, Object> map = new HashMap<>(); map.put(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON); this.tradeResults.stream() .filter(result -> System.currentTimeMillis() >= (result.timestamp + 1500)) .forEach(result -> { logger.log(Level.INFO, "Sending position update: " + result.position); this.messagingTemplate.convertAndSendToUser(result.user, "/queue/position-updates", result.position, map); this.tradeResults.remove(result); }); }
public static void sendMessage(SimpMessageSendingOperations messagingTemplate, String user, String destination, Object payload){ messagingTemplate.convertAndSendToUser(user, destination, payload, createHeaders(user)); }
public void listPeers(Principal principal) { List<Peer> peers = peerGroup.getConnectedPeers(); this.messagingTemplate.convertAndSendToUser(principal.getName(), "/queue/peers", peers); }
@Override public void executeTrade(Trade trade) { Portfolio portfolio = this.portfolioService.findPortfolio(trade.getUsername()); String ticker = trade.getTicker(); int sharesToTrade = trade.getShares(); PortfolioPosition newPosition = (trade.getAction() == Trade.TradeAction.Buy) ? portfolio.buy(ticker, sharesToTrade) : portfolio.sell(ticker, sharesToTrade); if (newPosition == null) { String payload = "Rejected trade " + trade; this.messagingTemplate.convertAndSendToUser(trade.getUsername(), "/queue/errors", payload); return; } this.tradeResults.add(new TradeResult(trade.getUsername(), newPosition)); }
/** * In real application a trade is probably executed in an external system, i.e. * asynchronously. */ @Override public void executeTrade(Trade trade) { Portfolio portfolio = this.portfolioService.findPortfolio(trade.getUsername()); String ticker = trade.getTicker(); int sharesToTrade = trade.getShares(); PortfolioPosition newPosition = trade.getAction() == TradeAction.Buy ? portfolio.buy(ticker, sharesToTrade) : portfolio.sell(ticker, sharesToTrade); if (newPosition == null) { String payload = "Rejected trade " + trade; this.messagingTemplate.convertAndSendToUser(trade.getUsername(), "/queue/errors", payload); return; } this.tradeResults.add(new TradeResult(trade.getUsername(), newPosition)); }
destination = destinationHelper.expandTemplateVars(destination); if (broadcast) { this.messagingTemplate.convertAndSendToUser( user, destination, returnValue, createHeaders(null, returnType)); this.messagingTemplate.convertAndSendToUser( user, destination, returnValue, createHeaders(sessionId, returnType));
destination = destinationHelper.expandTemplateVars(destination); if (broadcast) { this.messagingTemplate.convertAndSendToUser( user, destination, returnValue, createHeaders(null, returnType)); this.messagingTemplate.convertAndSendToUser( user, destination, returnValue, createHeaders(sessionId, returnType));