Hi I created a ticket for this https://issues.apache.org/activemq/browse/CAMEL-1722
And have committed the fix right now. When you upgrade to latest camel core and using AggregationStrategy then the body is now always in IN and OUT is null. This eliminates the confusion as you should just always use IN. On Tue, Jun 16, 2009 at 4:16 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: > On Tue, Jun 16, 2009 at 4:10 PM, Charles Moulliard<cmoulli...@gmail.com> > wrote: > > What do you mean by 1 = OUT, 2+ = IN ? > Number of processors you have in the route. eg = the number of <to > uri="xxx"/> you have > > 1 = > <split> > <to uri="foo"/> > </split> > > 2+ = > <split> > <to uri="foo"/> > <to uri="bar"/> > <to uri="baz"/> > </split> > > > > > > > > Charles Moulliard > > Senior Enterprise Architect > > Apache Camel Committer > > > > ***************************** > > blog : http://cmoulliard.blogspot.com > > > > > > On Tue, Jun 16, 2009 at 4:03 PM, Claus Ibsen <claus.ib...@gmail.com> > wrote: > > > >> [15:59] <cibsen> chm007 its because of using AggregatorStrategy is > >> very low level > >> [15:59] <cibsen> you work on Exchange directly > >> [15:59] <cibsen> and it depends on how many processing steps you have > >> in the split sub route > >> [15:59] <cibsen> 1 = OUT > >> [15:59] <cibsen> 2+ = IN as Camel will use a Pipeline under the > converers > >> [15:59] <cibsen> so Camel will do a OUT -> IN in the next processor > >> [15:59] <cibsen> so OUT -> IN to the AggregatorStrategy also > >> [15:59] <cibsen> its a bit confusing > >> [16:00] <cibsen> will be better when you can use a POJO for aggregation > >> > >> On Tue, Jun 16, 2009 at 2:11 PM, Charles Moulliard<cmoulli...@gmail.com > > > >> wrote: > >> > Hi, > >> > > >> > I'm a little confused about the split EIP pattern combined with > >> aggregation > >> > strategy. In the example (see http://camel.apache.org/splitter.html - > >> Split > >> > aggregate request/reply sample), the out exchange is used to retrieved > >> the > >> > body content and also to set it because the pattern is of type InOut. > >> > > >> > I have created an aggregator but in my case, I must use the content of > >> the > >> > In to retrieve my body > >> > > >> > List requestMessages = new ArrayList(); > >> > > >> > if (oldExchange == null) { > >> > > >> > > requestMessages.add(newExchange.getIn().getBody(RequestMessage.class)); > >> > newExchange.getOut().setBody(requestMessages); > >> > return newExchange; > >> > } else { > >> > // Get old messages > >> > requestMessages = oldExchange.getIn().getBody(List.class); > >> > > >> > // Get new and add it to the list > >> > > >> > > requestMessages.add(newExchange.getOut().getBody(RequestMessage.class)); > >> > > >> > // Add to the exchange > >> > oldExchange.getOut().setBody(requestMessages); > >> > return oldExchange; > >> > > >> > } > >> > > >> > > >> > Questions : > >> > - Is the split EIP an InOut pattern ? > >> > - When I develop the aggregator like this, the headers of my messages > >> have > >> > disappeared when the endpoint called after the end of the split > receives > >> the > >> > List of Objects. How can I avoid this ? > >> > > >> > Regards, > >> > > >> > Charles Moulliard > >> > Senior Enterprise Architect > >> > Apache Camel Committer > >> > > >> > ***************************** > >> > blog : http://cmoulliard.blogspot.com > >> > > >> > >> > >> > >> -- > >> Claus Ibsen > >> Apache Camel Committer > >> > >> Open Source Integration: http://fusesource.com > >> Blog: http://davsclaus.blogspot.com/ > >> Twitter: http://twitter.com/davsclaus > >> > > > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus