Aggregated exchanges are fundamentally disconnected from the point of aggregation. I don't know of a way to circumvent this using standard features. You might consider creating a processor that performs your aggregation logic.
On Wed, Jan 31, 2024 at 6:07 AM Aditya Kavathekar < kavathekar.adi...@gmail.com> wrote: > Hi Jeremy, > Thanks for your response. > > I tried the SynchronusExecutorService it is still not stopping incase of > exception. > The aggregation is getting continued. > Please let me know if I can try something else. > > Thanks, > Aditya > > On Wed, 31 Jan 2024, 12:58 am Jeremy Ross, <jeremy.g.r...@gmail.com> > wrote: > > > Using a standalone aggregator as you've configured will result in the > > aggregations completing in a separate thread with the side effect that > the > > aggregated exchange is completely disconnected from the split. > > > > And you're correct that if you use the splitter's aggregation slot that > you > > don't get to provide completion parameters. That's because the > aggregation > > is complete when there are no more items to split. > > > > Using your standalone aggregator, you can try populating the aggregator's > > executorService option with a SynchronousExecutorService. This will > result > > in aggregations completing on the same thread as the splitter. But I'm > not > > sure if that means that exceptions in the aggregator bubble up to the > > splitter. You'll have to test this. > > > > > > On Tue, Jan 30, 2024 at 11:24 AM Aditya Kavathekar < > > kavathekar.adi...@gmail.com> wrote: > > > > > Hello community, > > > I am using camel 3.20.5 in XML DSL. > > > I am trying to achieve batch processing and below is my source code. > > > > > > <split stopOnException="true" > > > > <aggregate aggregationStrategy="GroupedBodyAggregationStartegy" > > > completionSize= 500 completionTimeout= 1000> > > > //Some code > > > //Exception occurs here > > > </aggregate> > > > </split> > > > > > > OnException block here > > > > > > Now here I want to stop the aggregation incase any exception occurs > > inside > > > it but the aggregator just executes the code from onException block and > > > continues its execution. Please suggest a way to stop aggregation > incase > > of > > > exception. > > > > > > Alternatively if I add the aggregation strategy to the split then It > > stops > > > on exception but I am not able to provide completionSize or > > > completionTimeout options in split. Please suggest if I am missing > > > something here. > > > > > > Thanks, > > > Aditya > > > > > >