You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by lleclerc <ll...@aim-rg.com> on 2012/11/19 20:30:34 UTC

Basic question about synchronous queues and pipes..

Hi,

I looked into documentations/questions and I am not sure about the responses
I seen.

I want to send an http request at each 5 seconds and delay the response by 3
minutes before processing it. The http request time can vary a lot before
getting a response, but I want to keep the order intact, and process every
response in the right order.

Can it be done directly like this :

from("http4:...").delay(5000).to("direct:abc").delay(180000).process(...);

There is a queue inside direct that follow the request order ? The message
will be overwritten ?
It needs to be on 2 'from' lines? Use a different component ?


Thank you for your time !



--
View this message in context: http://camel.465427.n5.nabble.com/Basic-question-about-synchronous-queues-and-pipes-tp5722970.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Basic question about synchronous queues and pipes..

Posted by Hadrian Zbarcea <hz...@gmail.com>.
Hi,

What you're doing is almost good. The only thing missing, if I 
understand your use case well, is a resequencer [1] that enforces the 
correct order. Doing it on separate routes is not really mandatory, but 
personally I would prefer it. I'd use either seda: or jms: for that, 
depending on how you want/need to handle potential failures.

Cheers,
Hadrian

[1] http://camel.apache.org/resequencer.html


On 11/19/2012 02:30 PM, lleclerc wrote:
> Hi,
>
> I looked into documentations/questions and I am not sure about the responses
> I seen.
>
> I want to send an http request at each 5 seconds and delay the response by 3
> minutes before processing it. The http request time can vary a lot before
> getting a response, but I want to keep the order intact, and process every
> response in the right order.
>
> Can it be done directly like this :
>
> from("http4:...").delay(5000).to("direct:abc").delay(180000).process(...);
>
> There is a queue inside direct that follow the request order ? The message
> will be overwritten ?
> It needs to be on 2 'from' lines? Use a different component ?
>
>
> Thank you for your time !
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Basic-question-about-synchronous-queues-and-pipes-tp5722970.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>