@SuppressWarnings("unchecked") @Override public Message postProcessMessage(Message message, Correlation correlation) throws AmqpException { Message messageToSend = message; AsyncCorrelationData<C> correlationData = (AsyncCorrelationData<C>) correlation; if (correlationData.userPostProcessor != null) { messageToSend = correlationData.userPostProcessor.postProcessMessage(message); } String correlationId = getOrSetCorrelationIdAndSetReplyTo(messageToSend); correlationData.future = new RabbitConverterFuture<C>(correlationId, message); if (correlationData.enableConfirms && correlationData.getId() == null) { correlationData.setId(correlationId); correlationData.future.setConfirm(new SettableListenableFuture<>()); } correlationData.future.setReturnType(correlationData.returnType); AsyncRabbitTemplate.this.pending.put(correlationId, correlationData.future); return messageToSend; }
@SuppressWarnings("unchecked") @Override public Message postProcessMessage(Message message, Correlation correlation) throws AmqpException { Message messageToSend = message; AsyncCorrelationData<C> correlationData = (AsyncCorrelationData<C>) correlation; if (correlationData.userPostProcessor != null) { messageToSend = correlationData.userPostProcessor.postProcessMessage(message); } String correlationId = getOrSetCorrelationIdAndSetReplyTo(messageToSend); correlationData.future = new RabbitConverterFuture<C>(correlationId, message); if (correlationData.enableConfirms && correlationData.getId() == null) { correlationData.setId(correlationId); correlationData.future.setConfirm(new SettableListenableFuture<>()); } correlationData.future.setReturnType(correlationData.returnType); AsyncRabbitTemplate.this.pending.put(correlationId, correlationData.future); return messageToSend; }