camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wilson MacGyver <wmacgy...@gmail.com>
Subject Re: action at the end of the split
Date Thu, 06 Aug 2015 15:26:20 GMT
I figured out what I was doing wrong.  It's because I was using filter with
bean. I didn't realize I had to add an end() to terminate the filtering


from()

.split(body().tokenize("\n")).streaming()

.process() /do stuff

.filter().method(MyFilter.class, "keepIt")

  .to("mock:result")

.end()

.log("final time ${property.CamelSplitSize}")

.to(smtp://)


now I have a different problem. I need to know the # of total processed.
But the CamelSplitSize property is out of scope. Anyway to work around
that?


Thanks



On Thu, Jul 23, 2015 at 2:03 PM, Claus Ibsen <claus.ibsen@gmail.com> wrote:

> You must be doing some more inside the splitter and you may need 2 x end
>
> On Thu, Jul 23, 2015 at 7:45 PM, Wilson MacGyver <wmacgyver@gmail.com>
> wrote:
> > hmm, if I understand you correctly, this isn't working for me.
> >
> > I have
> >
> > from()
> >
> > .split(body().tokenize("\n")).streaming()
> >
> > .process() /do stuff
> >
> > .end()
> >
> > .log("${in.body}")
> >
> > .to(smtp://)
> >
> >
> > say if the file has 100 lines, I'd except to see the log once if I
> > understand what you are saying correctly. but I see the log 100 times.
> >
> >
> > Thanks,
> >
> >
> >
> > On Thu, Jul 23, 2015 at 1:24 PM, Claus Ibsen <claus.ibsen@gmail.com>
> wrote:
> >
> >> You can do that after the splitter
> >>
> >> <from>
> >>   <split>
> >>     ... inside splitter
> >>   </split>
> >>  .. split done
> >>   <to email> send email here
> >>
> >> In Java DSL you can use .end() to end the split block.
> >>
> >> On Thu, Jul 23, 2015 at 7:21 PM, Wilson MacGyver <wmacgyver@gmail.com>
> >> wrote:
> >> > Hi,
> >> >
> >> > I'm processing a large file. so I use .split and .streaming to process
> >> it a
> >> > record at a time.
> >> >
> >> > I would like to send an email alert upon completion of processing the
> >> file.
> >> >
> >> > but I can't figure out where to do that.
> >> >
> >> > I know I can check to see if it's the last exchange using property
> >> > "CamelSplitComplete", but it's set to true on the last exchange. So I
> >> still
> >> > need to let it finish.
> >> >
> >> > Is there a good way to this?
> >> >
> >> > Thanks,
> >> > Mac
> >> >
> >> > --
> >> > Omnem crede diem tibi diluxisse supremum.
> >>
> >>
> >>
> >> --
> >> Claus Ibsen
> >> -----------------
> >> http://davsclaus.com @davsclaus
> >> Camel in Action 2nd edition: http://www.manning.com/ibsen2
> >>
> >
> >
> >
> > --
> > Omnem crede diem tibi diluxisse supremum.
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2nd edition: http://www.manning.com/ibsen2
>



-- 
Omnem crede diem tibi diluxisse supremum.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message