camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Schneider (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAMEL-3193) request/reply over JMS using temporary queues - if connection lost the temporary queue is not re-created which causes the producer to not work anymore
Date Tue, 05 Oct 2010 07:29:41 GMT

    [ https://issues.apache.org/activemq/browse/CAMEL-3193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=62344#action_62344
] 

Christian Schneider commented on CAMEL-3193:
--------------------------------------------

I tested your patch yesterday and found we can solve this even much easier. The current code
of TemporaryQueueReplyManager uses SimpleMessageListenerContainer. I just needed to switch
to the DefaultMessageListenerContainer to achieve the same effect. I noticed this when I merged
your patch with mine and tried to recreate the error. The problem did  not occur anymore even
when I switched off your exceptionListener. 

So I looked into DefaultMessageListenerContainer and found that they support reconnections.
They even do a fresh resolve of the temporary queue so it is recreated automatically. So I
propose we simply go this way.

I just committed this change. Feel free to roll back if you see any problem with this aproach
for the 2.5.0 release. I also committed the test but disabled it as it does not run unattended.

> request/reply over JMS using temporary queues - if connection lost the temporary queue
is not re-created which causes the producer to not work anymore
> ------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-3193
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3193
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jms
>    Affects Versions: 2.4.0
>            Reporter: Christian Schneider
>            Assignee: Christian Schneider
>             Fix For: 2.5.0
>
>         Attachments: CAMEL-3193.patch, ClientTest.java, patch.txt
>
>
> To recreate the problem you need a route with a jms inout endpoint that is configured
to use a temporary destination for replies. Till now I was only able to show the problem with
tibco ems.
> - Start broker
> - Start the jms consumer that replies to the request
> - Start the route 
> - Send a request/reoply exchange (should work)
> - Stop the broker
> - Wait long enough for the client to do a full reconnect (I used connectionFactory.setReconnAttemptCount(1)
on the client so I do not have to wait so long)
> - Start the broker -> The jms component will do a full new connect
> - Send a request/reoply exchange -> Now a InvalidDestination Exception happens
> The client route will not work anymore until a restart as it creates the temporary destination
only once and it is invalid now.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message