Hmmm actually, if I add a queue, it just move the problem. Any idea?

Le ven. 26 juil. 2019 à 14:46, Damien Nicolas <[email protected]> a
écrit :

> Hello,
> I have multiple sequential queues in InOut pattern, each queue leads to
> one processor.
> If a processor takes too much time for a treatment, I would like that the
> request-reply detects a timeout and send a timeout exception.
> The timeout with "*CamelJmsRequestTimeout*" works but only for the first
> queue.
>
> Example:
> If I have this:
>
> q1 -> p1 -> q2 -> p2 ->  q3 -> p3
>
> q1 *CamelJmsRequestTimeout *is for example 15". If each processor take
> 6", I will have a timeout at p3.
> I would like to have a reply to q1 after p1 and not after p3. And being
> able to modulate the timeout after each processing.
>
> This is an example code:
>
> from("jms:queue:q1")
>         .setExchangePattern(ExchangePattern.InOut)
>         .setHeader("CamelJmsRequestTimeout", constant("15000"))
>         .process("p1")
>         .to("jms:queue:q2");
>
> from("jms:queue:q2")
>         .setExchangePattern(ExchangePattern.InOut)
>         .setHeader("CamelJmsRequestTimeout", constant("5000"))
>         .process("p2")
>         .to("jms:queue:q3");
>
> from("jms:queue:q3")
>         .setExchangePattern(ExchangePattern.InOut)
>         .setHeader("CamelJmsRequestTimeout", constant("5000"))
>         .process("p3");
>
> I tried to double the concurrentConsumers (so from 1 to 2) on each
> procuder for the reply on the temp queue, but I still have this problem.
>
> Is my design possible? If yes, which option should I use?
>
> Thanks
>


-- 
Damien NICOLAS

Reply via email to