You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Bas Claessen (Jira)" <ji...@apache.org> on 2019/11/06 13:36:00 UTC
[jira] [Created] (CAMEL-14148) exception during first resolve of
temporary jms destination causes infinitive wait
Bas Claessen created CAMEL-14148:
------------------------------------
Summary: exception during first resolve of temporary jms destination causes infinitive wait
Key: CAMEL-14148
URL: https://issues.apache.org/jira/browse/CAMEL-14148
Project: Camel
Issue Type: Bug
Components: camel-jms
Affects Versions: 2.24.3
Reporter: Bas Claessen
An exception during the first attempt to resolve a temporary destination will cause an infinitive wait for next resolve attempts after the exception is cleared.
A likely scenario for this behaviour to occur is when no connection to a jms server can be established during startup.
This bug is caused by not setting the refreshWanted to false when no previous destination exists in the org.apache.camel.component.jms.reply.TemporaryQueueReplyManager$TemporaryReplyQueueDestinationResolver class.
{code:java}
public Destination resolveDestinationName(Session session, String destinationName, boolean pubSubDomain) throws JMSException {
// use a temporary queue to gather the reply message
synchronized (refreshWanted) {
if (queue == null || refreshWanted.compareAndSet(true, false)) {
queue = session.createTemporaryQueue();
setReplyTo(queue);
if (log.isDebugEnabled()) {
log.debug("Refreshed Temporary ReplyTo Queue. New queue: {}", queue.getQueueName());
}
refreshWanted.notifyAll();
}
}
return queue;
}
{code}
When queue == null the refreshWanted.compareAndSet(true, false) is not executed.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)