[
https://issues.apache.org/jira/browse/CAMEL-14148?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrea Cosentino updated CAMEL-14148:
-------------------------------------
Affects Version/s: (was: 2.24.3)
2.24.2
> 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
>
> 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)