In ReplyMessageCorrelator we have
so what happens when I'm doing a Request/Reply using the SimpleMessagingGateway.sendAndReceiveWithReplyMess ageCorrelator with a replyTimeOut = -1Code:private volatile long defaultTimeout = 5000;
I'm invoking the getReply without a timeout, but the method invokedCode:return (this.replyTimeout >= 0) ? this.replyMessageCorrelator.getReply(message.getHeaders().getId(), this.replyTimeout) : this.replyMessageCorrelator.getReply(message.getHeaders().getId());
uses the default value of 5000 instead of -1, and in the end, in RetrievalBlockingMessageStore it makes aCode:public Message<?> getReply(Object correlationId) { return this.getReply(correlationId, this.defaultTimeout); }
poll() instead of a take().Code:MessageHolder holder = (timeout < 0) ? queue.take() : queue.poll(timeout, TimeUnit.MILLISECONDS);
Is this the intended behaviour or is it a bug?


Reply With Quote