[ https://issues.apache.org/jira/browse/CAMEL-14148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16969330#comment-16969330 ]
Bas Claessen commented on CAMEL-14148: -------------------------------------- Added PRs for master and camel-2.x > 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.2 > Reporter: Bas Claessen > Priority: Minor > Time Spent: 1h 10m > Remaining Estimate: 0h > > 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)