Thx Claus! I fígured it out to be if you have ANY processing BEFORE the aggregation you MUST send a valid message as payload.
In my route I'm suppose to get a json as payload and by sending a “fake” json it the proceeds as intended. from("{{shuttle.jms.incoming}}") .routeId("SHUTTLE") .autoStartup("{{shuttle.autostart}}") .unmarshal().json(JsonLibrary.Jackson, true) .aggregate(constant(true), new ArrayListAggregationStrategy()) .aggregationRepository(shuttleRepo) .parallelProcessing(false) I’ll update the docs ;) M > On 3 Oct 2019, at 14:11, Claus Ibsen <claus.ib...@gmail.com> wrote: > > Hi > > A good idea is to look at the unit tests of camel itself. > There you can search the source code where this header are used, and > find unit tests that use it to be inspired. > > For the documentation, then you are welcome to help update and we > accept PRs, there is a "edit this page" button. > > On Thu, Oct 3, 2019 at 1:56 PM Mikael Andersson Wigander > <mikael.grevs...@gmail.com> wrote: >> >> Hi, guys >> >> The dopcumentation states that to manually trigger a completion of an >> aggregation you could send a message with the header >> Exchange.AGGREGATION_COMPLETE_ALL_GROUPS set to true and it will be >> considered a trigger message to start completion of all aggreations. >> >> >> This is not working for me and my route… >> I get an error message saying my payload is null and that Camel can’t find a >> converter >> >> org.apache.camel.InvalidPayloadException: No body available of type: >> java.io.InputStream on: JmsMessage[JmsMessageID: >> ID:MAW-MacBook-Space.local-53257-1570102789119-1:6:1:1:1]. Caused by: No >> type converter available to convert from type: null to the required type: >> java.io.InputStream with value null. >> Exchange[ID-MAW-MacBook-Space-local-1570102785170-0-3]. Caused by: >> [org.apache.camel.NoTypeConversionAvailableException - No type converter >> available to convert from type: null to the required type: >> java.io.InputStream with value null] >> >> >> I figure that much out because the message I send is empty and the header >> mentioned is only present. >> The documentation states: >> >> You can manually trigger completion of all current aggregated exchanges by >> sending a message containing the header >> Exchange.AGGREGATION_COMPLETE_ALL_GROUPS set to true. The message is >> considered a signal message only, the message headers/contents will not be >> processed otherwise. >> >> The other header (Exchange.AGGREGATION_COMPLETE_ALL_GROUPS_INCLUSIVE) can be >> used as a EOF indicator where we process the message using a correct payload >> but trigger the aggregation completion as well. >> >> >> >> So how should we use this header? >> >> Do I need to add a choice of somekind prior to my payload processing or? >> >> Thx >> >> M >> >> > > > -- > Claus Ibsen > ----------------- > http://davsclaus.com @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2