Hi

we aggragate all messages having the same key like this:

.aggregate(new GroovyExpression("exchange.in.body.InstrumentID"), new QuoteAggregationStrategy())

and get a List as result ("isStoreAsBodyOnCompletion() returns true").

The QuoteAggregationStrategy is required to implement the abstract method <T> getValue(final Exchange exchange) to convert the message to a specific type. In case you do not have a aggregateble key you can have a look at AbstractListAggregationStrategy and all derived classes, maybe one fits because you need some state to keep track about the number of exchanges combined and the desired chunk size. Maybe you create your own aggregator derived from AbstractListAggregationStrategy and override this method:

    public Exchange aggregate(Exchange oldExchange, Exchange newExchange)

?

Jens



Am 25.02.14 10:11, schrieb tharangage:
I am having another issue based on same solution given by "dulanov".
Is it possible to group N lines together?

I come up with solution as follow without aggregation, but it is better if i
can use aggregation as describe in this post. Can anyone please help on
this?

from("file:/temp/test").split().tokenize("\n", 100).process(new
MyProcessor()).to("file:/home/test/dest?fileExist=Append");




--
View this message in context: 
http://camel.465427.n5.nabble.com/How-to-aggregate-all-messages-into-a-single-message-tp477603p5747917.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to