Hi,
Maybe you need to set the receiveTimeout (MILLISECONDS) option on the
jms endpoint to let camel wait for the response longer.
BTW, you can check the Debug log for the exception.
long requestTimeout = endpoint.getConfiguration().getRequestTimeout();
try {
Message message = null;
try {
if (LOG.isDebugEnabled()) {
LOG.debug("Message sent, now waiting for reply at:
" + replyTo.toString());
}
if (requestTimeout < 0) {
message = (Message)futureHolder.get().get();
} else {
message =
(Message)futureHolder.get().get(requestTimeout, TimeUnit.MILLISECONDS);
}
} catch (InterruptedException e) {
if (LOG.isDebugEnabled()) {
LOG.debug("Future interrupted: " + e, e);
}
} catch (TimeoutException e) {
if (LOG.isDebugEnabled()) {
LOG.debug("Future timed out: " + e, e);
}
}
Willem
Eric Bouer wrote:
Hello.
I'm sending messages with InOut pattern to a JMS topic and set the replyTo
to a predefined queue.
Most of the time everything works fine but...
I have a suspicious situation that under certain conditions, camel wont read
replies from that queue and fail with ExchangeTimedOutException.
I can see the reply waiting in the Queue (using AMQ web console) but camel
wont consume it.
I see that camel is holding two 2 consumers on the reply queue (camel
creates and drops them every second), but not reading the reply message from
the Queue.
How can I track that down (Using 2.0-M3)?
Many thanks.