Look at these pages for samples.

http://camel.apache.org/splitter.html
http://camel.apache.org/content-based-router.html

I would most likely create a POJO to split the message up and then use the
content base router to
route the message.

On Wed, Mar 24, 2010 at 9:04 AM, jfaath <jfa...@apache.org> wrote:

>
> I'll give this a shot.  Can you give me a quick example or point me to a
> sample that does something similar (ex. setting a header in code,
> performing
> conditional logic in a route based on a header).
>
> -JF
>
>
> Allen Lau-2 wrote:
> >
> > I could be wrong here, but you could easily stick the "error" object as
> > part
> > of the message header.   As long as your components
> > understand that header, you can easily retrieve it and only send that
> > portion to an error queue.
> >
> > The default message headers in Camel is defined as
> >
> > Map<String, Object> headers;
> >
> > so basically you can stuff whatever you want into it.
> >
> >
> > On Tue, Mar 23, 2010 at 4:02 PM, jfaath <jfa...@apache.org> wrote:
> >
> >>
> >> I'm not sure that would work.  As I stated in my original post, I don't
> >> want
> >> to send the entire message to the error queue, just the portion that was
> >> invalid.  So, if my original message has, say, 11 readings, and 3 of
> them
> >> are bad, I only want to send the 3 bad ones to the error queue.  During
> >> processing, I stick the bad readings into an "error object".  It's the
> >> contents of this object (that I can easily marshal to XML) that I want
> to
> >> send to the queue.
> >>
> >> FYI, here is a simplified version of my route:
> >>
> >>
> >> from("jetty:http://0.0.0.0:8282/process";).convertBodyTo(String.class)
> >>        .inOnly("jms:queue:data.inbound")
> >>        .unmarshal(jaxbDf)
> >>        .beanRef("dataProcessor", "process")
> >>
> >>
> >> Allen Lau-2 wrote:
> >> >
> >> > How about just setting a header when you are done processing and there
> >> is
> >> > an
> >> > error?
> >> >
> >> > Then in your route, just send any message to the error queue when the
> >> > header
> >> > is detected.
> >> >
> >> > On Tue, Mar 23, 2010 at 11:57 AM, jfaath <jfa...@apache.org> wrote:
> >> >
> >> >>
> >> >> I'm looking for some advice on how to deal with errors during a large
> >> >> processing task.  It seems like it should be simple but I'm having
> >> >> trouble
> >> >> figuring out what to do.
> >> >>
> >> >> I have an HTTP endpoint that receives XML messages then sticks them
> in
> >> a
> >> >> processing queue.  From the queue, they get unmarshalled into JAXB
> >> >> objects
> >> >> and then processed by a Java class.  Now, the messages consist or a
> >> large
> >> >> number of readings.  Some may be good, some may be bad.  The good
> ones
> >> >> get
> >> >> processed, but the bad ones are stuffed into a JAXB object.
> >> >>
> >> >> When the processing is done, I'd like to throw this object on an
> error
> >> >> queue
> >> >> (or, marshal then throw on the queue).  But I can't figure out how to
> >> do
> >> >> this the best way.  The processing class should exit gracefully so I
> >> >> don't
> >> >> want to throw a final exception.
> >> >>
> >> >> What might be the best way to do this?  Can I add the error object to
> >> a
> >> >> queue programmatically within the processor?  Can the processor
> return
> >> >> the
> >> >> error object so I can throw it on the queue via the route?  Is there
> a
> >> >> nice
> >> >> and easy way to do this?
> >> >>
> >> >> Thanks,
> >> >>
> >> >> JF
> >> >> --
> >> >> View this message in context:
> >> >>
> >>
> http://old.nabble.com/error-handling-advice-with-queues-tp28005566p28005566.html
> >> >> Sent from the Camel - Users mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://old.nabble.com/error-handling-advice-with-queues-tp28005566p28008395.html
> >> Sent from the Camel - Users mailing list archive at Nabble.com.
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/error-handling-advice-with-queues-tp28005566p28016879.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>

Reply via email to