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.

Reply via email to