Yeah, but if you want a retry inside a retry, you hit a wall. I tried a lot of different configs with no success. I made camel-retry out of frustration. It took 3 hours to write it after loosing 2 days playing with error handlers.
On Wed, Feb 10, 2016 at 2:19 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: > Hi > > If you want to retry an entire route, you can mark the route with no > error handler, and call it from another route with direct, then the > redelivery will start again from the beginning of the route (eg it > redelivers the direct call) > > An unit test is here > > https://github.com/apache/camel/commit/8406bc3e1671d546f8fdc988a19760f45f5e6529 > > > On Wed, Feb 10, 2016 at 1:38 PM, Patrick Valsecchi > <patrick.valsec...@camptocamp.com> wrote: > > Hi, > > > > I had to implement some retry logic using camel as well, tried a lot of > > different tricks but always failed. > > > > I needed to be able to send a HTTP POST, then poll an URL (using > exception > > and redelivery). I case of error (other than my polling) I wanted to be > > able to re-send my HTTP POST. But the retries where eating at the number > of > > redeliveries of my POST. > > > > My solution? I've developed a new camel component to do the retries > without > > relying on Camel exception handlers: > > https://github.com/pvalsecc/camel-retry > > > > Example of route: > > > https://github.com/pvalsecc/camel-retry/blob/master/src/test/java/ch/thus/camel/retry/RetryDefaultTest.java#L100-L101 > > > > CU > > > > On Wed, Feb 10, 2016 at 3:08 AM, NES <nes...@gmail.com> wrote: > > > >> Thanks Quinn. > >> I would like to clarify again. > >> > >> If I want to send other servers the messages that sending message was > >> success on each sending, and to set retry options on them as well, I > have > >> to > >> nest direct routes? > >> > >> <route> > >> <from uri="direct://my-http"/> > >> <onException> > >> <exception>java.lang.Exception</exception> > >> <redeliveryPolicy maximumRedeliveries="1" > redeliveryDelay="1000"/> > >> </onException> > >> <to uri="http4://127.0.0.1:80/bar..."/> > >> <setBody> > >> <constant>Http Success</constant> > >> </setBody> > >> <to uri="direct:httpSuccess" /> > >> </route> > >> > >> <route> > >> <from uri="direct://httpSuccess"/> > >> <onException> > >> <exception>java.lang.Exception</exception> > >> <redeliveryPolicy maximumRedeliveries="3" > redeliveryDelay="3000"/> > >> </onException> > >> <to uri="http4://127.0.0.1:80/httpsuccess..."/> > >> </route> > >> > >> <route> > >> <from uri="direct://my-sql"/> > >> <onException> > >> <exception>java.lang.Exception</exception> > >> <redeliveryPolicy maximumRedeliveries="10" > >> redeliveryDelay="10000"/> > >> </onException> > >> <to uri="sql:INSERT INTO BAZ_TBL (NAME) VALUES(:#${body})..."/> > >> <setBody> > >> <constant>SQL Success</constant> > >> </setBody> > >> <to uri="direct:sqlSuccess" /> > >> </route> > >> > >> <route> > >> <from uri="direct://sqlSuccess"/> > >> <onException> > >> <exception>java.lang.Exception</exception> > >> <redeliveryPolicy maximumRedeliveries="4" > redeliveryDelay="4000"/> > >> </onException> > >> <to uri="http4://127.0.0.1:80/sqlsuccess..."/> > >> </route> > >> > >> <route> > >> <from uri="direct://my-activemq"/> > >> <onException> > >> <exception>java.lang.Exception</exception> > >> <redeliveryPolicy maximumRedeliveries="25" > >> redeliveryDelay="25000"/> > >> </onException> > >> <to uri="activemq:qux..."/> > >> <setBody> > >> <constant>ActiveMQ Success</constant> > >> </setBody> > >> <to uri="direct:activemqSuccess" /> > >> </route> > >> > >> <route> > >> <from uri="direct://activemqSuccess"/> > >> <onException> > >> <exception>java.lang.Exception</exception> > >> <redeliveryPolicy maximumRedeliveries="5" > redeliveryDelay="5000"/> > >> </onException> > >> <to uri="http4://127.0.0.1:80/activemqsuccess..."/> > >> </route> > >> > >> <route> > >> <from uri="servlet:///foo"/> > >> <multicast> > >> <to uri="direct://my-http"/> > >> <to uri="direct://my-sql"/> > >> <to uri="direct://my-activemq"/> > >> </multicast> > >> </route> > >> > >> > >> > >> -- > >> View this message in context: > >> > http://camel.465427.n5.nabble.com/Redelivery-per-Endpoint-tp5777413p5777501.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 >