Author: davsclaus
Date: Sat Jan 8 17:35:56 2011
New Revision: 1056745
URL: http://svn.apache.org/viewvc?rev=1056745&view=rev
Log:
CAMEL-3497: Fixed splitter using too much memory when using parallel mode. Now
it aggregtes on-the-fly which means memory consumption is low and it now runs
much faster overall in performance.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java?rev=1056745&r1=1056744&r2=1056745&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
Sat Jan 8 17:35:56 2011
@@ -312,6 +312,8 @@ public class MulticastProcessor extends
}
allTasksSubmitted.set(true);
+ // its to hard to do parallel async routing so we let the caller
thread be synchronously
+ // and have it pickup the replies and do the aggregation (eg we use a
latch to wait)
// wait for aggregation to be done
if (LOG.isDebugEnabled()) {
LOG.debug("Waiting for on-the-fly aggregation to complete
aggregating " + total.get() + " responses.");
@@ -389,8 +391,6 @@ public class MulticastProcessor extends
}
private void aggregateOnTheFly() throws InterruptedException,
ExecutionException {
- // its to hard to do parallel async routing so we let the caller
thread be synchronously
- // and have it pickup the replies and do the aggregation
boolean timedOut = false;
boolean stoppedOnException = false;
final StopWatch watch = new StopWatch();