Thanks to the help of Claus, I have discovered that I can use my own aggregation strategy to collect all files into an Exchange containing a collection of Exchanges. Here is my route building:
public class RouteBuilder extends org.apache.camel.builder.RouteBuilder { public void configure() { from( "file://target/classes/timetables?noop=true&consumer.recursive=true") .aggregator(new CollectAllAggregationStrategy()).constant(true) .process(new Processor() { public void process(Exchange e) { System.out.println("Received exchange: " + e.getIn().getBody()); } }); } } ...and here is my aggregation strategy: (CollectAllAggregationStrategy.java) public class CollectAllAggregationStrategy implements AggregationStrategy { @SuppressWarnings("unchecked") public Exchange aggregate(Exchange arg0, Exchange arg1) { // If our previous exchange holds a collection of Exchanges then we // simply add to that collection. Otherwise we create a new Exchange // containing a collection of exchanges and use this for future // aggregations (and of course add to it presently). Collection collection; Object body = arg0.getIn().getBody(); if (body instanceof Collection) { collection = (Collection) body; } else { collection = new Vector(); collection.add(arg0); Exchange newExchange = new DefaultExchange(arg0.getContext()); Message in = new DefaultMessage(); in.setBody(collection); newExchange.setIn(in); arg0 = newExchange; } collection.add(arg1); return arg0; } } All exchanges appear to be bundled together given the use of the constant expression. I hope that others find this use of aggregation useful. Kind regards, Christopher -- View this message in context: http://www.nabble.com/How-to-use-Aggregator-and-AggregationCollection--tp19739918s22882p19856197.html Sent from the Camel - Users mailing list archive at Nabble.com.