[ https://issues.apache.org/activemq/browse/CAMEL-2445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57365#action_57365 ]
Claus Ibsen commented on CAMEL-2445: ------------------------------------ I will change Camel 2.x to catch all kind of exceptions in CAMEL-2448. Then the regular camel error handler will also handle this NoSuchMethodException which will at minimum be logged, so there is a trace in the log now. In 1.x we will patch it with your patches so BatchProcessor will log the exceptions. I have adjusted your patch a bit as you need to catch the exception in the loop so Camel will process the next exchange to drain the aggregated exceptions. Otherwise they will be kept in the memory and it will only process 1 exchange at every trigger. And thus it can lead to consume more memory if your fill in more messages than it can drain. > BatchProcesser.processExchange needs to catch Throwable > ------------------------------------------------------- > > Key: CAMEL-2445 > URL: https://issues.apache.org/activemq/browse/CAMEL-2445 > Project: Apache Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 1.6.2, 2.1.0 > Reporter: Stan Lewis > Assignee: Stan Lewis > Fix For: 1.6.3, 2.2.0 > > Attachments: 1.x.patch, 2.x.patch, patch-1.x.txt, patch-2.x.txt > > > If an aggregator sends an exchange to a processor that throws an Error this > causes the thread started by BatchProcessor to exit, exchanges will then > accumulate in the aggregator until an OutOfMemoryError occurs. > This patch sorts that out and adds a unit test, however there's another > problem that I'm still looking into, namely that BatchProcessor just uses an > instance of LoggingErrorHandler as it's exception handler, so any > exceptions/errors caught by this processor will just get logged and not > follow the normal Camel error handling. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.