@Override public boolean onMessage(Message<?> message) { String connectionId = message.getHeaders().get(IpHeaders.CONNECTION_ID, String.class); if (connectionId == null) { logger.error("Cannot correlate response - no connection id"); publishNoConnectionEvent(message, null, "Cannot correlate response - no connection id"); return false; } if (logger.isTraceEnabled()) { logger.trace("onMessage: " + connectionId + "(" + message + ")"); } AsyncReply reply = this.pendingReplies.get(connectionId); if (reply == null) { if (message instanceof ErrorMessage) { /* * Socket errors are sent here so they can be conveyed to any waiting thread. * If there's not one, simply ignore. */ return false; } else { String errorMessage = "Cannot correlate response - no pending reply for " + connectionId; logger.error(errorMessage); publishNoConnectionEvent(message, connectionId, errorMessage); return false; } } reply.setReply(message); return false; }
@Override public boolean onMessage(Message<?> message) { String connectionId = message.getHeaders().get(IpHeaders.CONNECTION_ID, String.class); if (connectionId == null) { logger.error("Cannot correlate response - no connection id"); publishNoConnectionEvent(message, null, "Cannot correlate response - no connection id"); return false; } if (logger.isTraceEnabled()) { logger.trace("onMessage: " + connectionId + "(" + message + ")"); } AsyncReply reply = this.pendingReplies.get(connectionId); if (reply == null) { if (message instanceof ErrorMessage) { /* * Socket errors are sent here so they can be conveyed to any waiting thread. * If there's not one, simply ignore. */ return false; } else { String errorMessage = "Cannot correlate response - no pending reply for " + connectionId; logger.error(errorMessage); publishNoConnectionEvent(message, connectionId, errorMessage); return false; } } reply.setReply(message); return false; }