Hi @claus, @ceposta Thanks for this. I'm keenest to ensure we don't go against the grain of the "Camel-way". I've pushed against frameworks before and it always ends badly. :D
To that end, both options you propose make a lot of sense. @caposta, your option sounds like it keeps the handling and creation of the compensatory message all in one place which I like from a conceptual-code perspective. Have you seen others do this? Most important to us is that it's all within the same transaction. We can't lose messages (which includes these compensatory-messages that the onException handler would create.) If so, it sounds like it might be for us. if not, I think we go down the route @claus suggests. Thanks for your input so far. Cheers, Andrew *Andrew Harmel-Law* twitter: @al94781 <http://twitter.com/al94781> blog: the-music-of-time.blogspot.com flickr: flickr.com/photos/andrewbrucelaw On 20 July 2013 14:24, ceposta [via Camel] < ml-node+s465427n5735933...@n5.nabble.com> wrote: > Can you just use the regular onException handlers? If there is an error > processing, throw an exception, and in the onException handler enrich with > a Failed header and create your new message and send to a queue. > > On Saturday, July 20, 2013, Claus Ibsen wrote: > > > Hi > > > > If its a new inbound message maybe you can use an intercept from and > > then do your check / whatever you want > > http://camel.apache.org/intercept > > > > On Tue, Jul 16, 2013 at 2:13 PM, al94781 <[hidden > > email]<http://user/SendEmail.jtp?type=node&node=5735933&i=0><javascript:;>> > > > wrote: > > > Hi there, > > > > > > We have a situation in our route whereby, when we encounter an error > in > > > processing an inbound message, we want to flag the original as > "Failed" > > (in > > > a header) prior to further processing, and also generate a new message > to > > > request a tidy up of resources the original failure may have left > behind > > > which we put on a new request queue. > > > > > > The question I have is therefore: What is the canonical way to achieve > > this > > > with Camel? > > > > > > - A splitter isn't the right way as the new (tidy up) message is not > in > > the > > > original message to split it out. > > > - A wiretap feels like it might be a possibility, (looking for > messages > > > with a "Failed" header, and reacting as a result by creating the new > > > message) but I'm not clear if this can operate within the original > > > transaction (we can't lose messages, and want to ensure a failure at > > least > > > guarantees a clean up is attempted). > > > - Alternatively we can just use a plain old processor, but this feels > > as if > > > we're missing something and a little ad-hoc. > > > > > > Can anyone help? We're pretty sure this must be a very common use > case. > > > > > > TIA > > > > > > Cheers, Andrew > > > > > > > > > > > > -- > > > View this message in context: > > > http://camel.465427.n5.nabble.com/Canonical-Way-to-Create-a-New-Message-Given-Certain-Conditions-tp5735721.html > > > Sent from the Camel - Users mailing list archive at Nabble.com. > > > > > > > > -- > > Claus Ibsen > > ----------------- > > Red Hat, Inc. > > Email: [hidden > > email]<http://user/SendEmail.jtp?type=node&node=5735933&i=1><javascript:;> > > Twitter: davsclaus > > Blog: http://davsclaus.com > > Author of Camel in Action: http://www.manning.com/ibsen > > > > > -- > *Christian Posta* > http://www.christianposta.com/blog > twitter: @christianposta > http://www.christianposta.com/blog > > > ------------------------------ > If you reply to this email, your message will be added to the discussion > below: > > http://camel.465427.n5.nabble.com/Canonical-Way-to-Create-a-New-Message-Given-Certain-Conditions-tp5735721p5735933.html > To unsubscribe from Canonical Way to Create a New Message Given Certain > Conditions, click > here<http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=5735721&code=YW5kcmV3QGhhcm1lbC1sYXcuY29tfDU3MzU3MjF8ODYwODY1MjIy> > . > 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/Canonical-Way-to-Create-a-New-Message-Given-Certain-Conditions-tp5735721p5736070.html Sent from the Camel - Users mailing list archive at Nabble.com.