Thanks for the fast response Claus.  I figured that must have been the
case, which is why I then tried implementing the timeout method on a
TimeoutAwareAggregator.  I thought if I called setException there (just
with a plain new Exception) then that might trigger the error handler.

I should describe that what I want to happen is that either the whole
multicast tries again, or perhaps just the one that timed out.  Is there a
different way of achieving that?
Thanks again,
James
On Sep 13, 2012 8:43 AM, "Claus Ibsen-2 [via Camel]" <
ml-node+s465427n5719232...@n5.nabble.com> wrote:

> There is no exception occurring. And therefore the error handler does
> not redeliver anything.
> If the timeout is hit on the multicast, then yes the multicast will
> aggregate what it currently has, and continue routing.
>
>
>
> On Wed, Sep 12, 2012 at 10:37 PM, jimbogaz <[hidden 
> email]<http://user/SendEmail.jtp?type=node&node=5719232&i=0>>
> wrote:
>
> > Hi all.
> >
> > I think I'm missing something obvious, but I can't find anything here
> that
> > is similar to my problem, or any docs that tell me "it's obvious James
> you
> > twerp":
> >
> > I've put together a route that multicasts to three direct routes, which
> > simply return setBody type responses.  I have intentionally made one of
> them
> > take longer than the timeout on the multicast, with the intention that
> the
> > error handler retries the request.  It doesn't.  I have tried with both
> > having a TimeoutAwareAggregationStrategy with a setException (which I
> > thought would automatically invoke the error handler), and with just a
> plain
> > AggregationStrategy.
> >
> > I'm on Camel 2.9.3, and below are my (sanitised to protect my client)
> > sections from beans.xml and my main method...  can anybody tell me where
> I'm
> > epic failing?
> >
> >
> >     public static void main(String... args) throws Exception {
> >         ApplicationContext appContext = new
> > ClassPathXmlApplicationContext("beans.xml");
> >         LOG.info("Initialised Application Context");
> >         CamelContext camelContext = appContext.getBean("camel-context",
> > CamelContext.class);
> >         ProducerTemplate producerTemplate =
> > camelContext.createProducerTemplate();
> >         producerTemplate.asyncCallbackRequestBody("direct:blah",
> > "<identity><name>James</name>[hidden 
> > email]<http://user/SendEmail.jtp?type=node&node=5719232&i=1></identity>",
> callback);
> >         Thread.sleep(15000);
> >         LOG.info("FINISHED");
> >     }
> >
> >   <camel:camelContext id="camel-context" errorHandlerRef="defaultEH"
> > xmlns="http://camel.apache.org/schema/spring";>
> >     <camel:package>com.rightmess.camel</camel:package>
> >
> >         <camel:errorHandler id="defaultEH">
> >             <camel:redeliveryPolicy maximumRedeliveries="2"
> > retryAttemptedLogLevel="WARN" redeliveryDelay="200"/>
> >         </camel:errorHandler>
> >     <camel:route>
> >       <camel:from uri="direct:blah"/>
> >       <camel:multicast strategyRef="aggregatedData"
> >                    parallelProcessing="true" streaming="true"
> timeout="700">
> >         <camel:to uri="direct:DOB"/>
> >         <camel:to uri="direct:Address"/>
> >         <camel:to uri="direct:Telephone"/>
> >       </camel:multicast>
> >     </camel:route>
> >     <camel:route>
> >         <camel:from uri="direct:DOB"/>
> >         <camel:delay><camel:constant>233</camel:constant></camel:delay>
> >
> >
> <camel:setBody><camel:constant>15/04/1868</camel:constant></camel:setBody>
> >     </camel:route>
> >     <camel:route>
> >         <camel:from uri="direct:Address"/>
> >         <camel:delay><camel:constant>1500</camel:constant></camel:delay>
> >
> >
> <camel:setBody><camel:constant>Starbucks</camel:constant></camel:setBody>
> >         <camel:to uri="log:log"/>
> >     </camel:route>
> >     <camel:route>
> >         <camel:from uri="direct:Telephone"/>
> >         <camel:delay><camel:constant>233</camel:constant></camel:delay>
> >
> >
> <camel:setBody><camel:constant>0982734786238746</camel:constant></camel:setBody>
>
> >     </camel:route>
> >   </camel:camelContext>
> >
> >
> >
> >
> >
> > --
> > View this message in context:
> http://camel.465427.n5.nabble.com/Multicast-redelivery-and-error-handlers-tp5719208.html
> > Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: [hidden email]<http://user/SendEmail.jtp?type=node&node=5719232&i=2>
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://camel.465427.n5.nabble.com/Multicast-redelivery-and-error-handlers-tp5719208p5719232.html
>  To unsubscribe from Multicast, redelivery and error handlers, click 
> here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5719208&code=amltYm9nYXpAZ21haWwuY29tfDU3MTkyMDh8LTEyOTI5MDU2OTA=>
> .
> NAML<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




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

Reply via email to