You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by R12 <Re...@yahoo.com.sg> on 2015/11/18 10:56:21 UTC

Multicast

Hi everyone,

   Recently, I have created and tested the following flow on camel version
2.15 (i.e. sending msg to multiple remote ActiveMQ brokers):
  
        <route>
            <from uri="direct:start" />
            <multicast parallelProcessing="true">
                <to uri="activemq1:queue:queue1">
                <to uri="activemq2:queue:queue1">
                <to uri="activemq3:queue:queue1">
            </multicast>
        </route>

   All works fine if all activemq brokers are online.

   *The challenge comes when one of the broker is offline.*
   For example: when activemq2 broker is offline and when a new msg arrive,
activemq2 will try to  reestablish the connection. 
   This will cause the whole flow to get stuck and activemq1 & activemq3
will not receive the messages until the connection retry timeout.  
 
   Is there any way to isolate such retries and let the rest of the
destination to continue to receive the messages on time? 
   My understanding was that setting parallel processing for multicast will
help, but it is not showing the right behavior.

   Could anyone assist to resolve this challenge?

   Thanks.

R12


    



--
View this message in context: http://camel.465427.n5.nabble.com/Multicast-tp5774035.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Multicast

Posted by Claus Ibsen <cl...@gmail.com>.
If you want them to be indpendent you can use wire-tap EIP instead of
multicast. As the multicast would need to wait for all 3 to complete
before its fully done. Although you can use its timeout option to let
the others continue, but it may get a bit complicated. If all you want
is to send the message indepdendent to 3 endpoints, then wire tap is
maybe better.

Mind that if one of the brokers is having problems and you keep trying
sending to it, then you may run out of threads in the wire tap thread
pool / multicast pool. So you may need to balance configuring this or
back-off earlier or something.



On Wed, Nov 18, 2015 at 10:56 AM, R12 <Re...@yahoo.com.sg> wrote:
> Hi everyone,
>
>    Recently, I have created and tested the following flow on camel version
> 2.15 (i.e. sending msg to multiple remote ActiveMQ brokers):
>
>         <route>
>             <from uri="direct:start" />
>             <multicast parallelProcessing="true">
>                 <to uri="activemq1:queue:queue1">
>                 <to uri="activemq2:queue:queue1">
>                 <to uri="activemq3:queue:queue1">
>             </multicast>
>         </route>
>
>    All works fine if all activemq brokers are online.
>
>    *The challenge comes when one of the broker is offline.*
>    For example: when activemq2 broker is offline and when a new msg arrive,
> activemq2 will try to  reestablish the connection.
>    This will cause the whole flow to get stuck and activemq1 & activemq3
> will not receive the messages until the connection retry timeout.
>
>    Is there any way to isolate such retries and let the rest of the
> destination to continue to receive the messages on time?
>    My understanding was that setting parallel processing for multicast will
> help, but it is not showing the right behavior.
>
>    Could anyone assist to resolve this challenge?
>
>    Thanks.
>
> R12
>
>
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/Multicast-tp5774035.html
> Sent from the Camel - Users mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2