Hi,

I have a simple requirement, a route which accepts a .csv file having
HEADER, RECORD and FOOTER. I want to process that file row by row (Filtering
HEADER and RECORD) and aggregating Records at the last. 

Sample Route:
------------
 from( "seda:" + RouteId ).routeId(RouteId)
    .onException(Exception.class).maximumRedeliveries(0)
        .log( "Error processing file")
    .end()
    .split(expression)  //split row by row
    .streaming()
    .stopOnException()
        .filter(new HeaderFooterCheck())
                .aggregate(correlationExpression, new
MyStringBuilderAggregationStrategy())
                .to(directEndpoint)
                .end()
        .end()
   .end()
.end();

Here, at HeaderFooterCheck() I am checking whteher a record(a single row of
csv file) is Header or Footer and returning True or False.

When Header is coming, Filter is skipping Header.
When Record is coming, Filter will put Record in Aggregator once the
filtering is done.
When at last Footer comes, Filter filter out the Footer and whole route is
getting skipped and nothing is going in Aggregator.

Question is why Filter is skipping full route?

Any solution will be helpful.

Regards,
Sachin







--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-Filter-tp5743794.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to