ParallelProcessing and executor flags are ignored in Multicast processor
------------------------------------------------------------------------
Key: CAMEL-1108
URL: https://issues.apache.org/activemq/browse/CAMEL-1108
Project: Apache Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 1.5.0
Environment: Windows XP, Java 6
Reporter: Vadim Katz
Attachments: MulticastProcessor.java
The parallelProcessing and executor arguments are ignored in the constructor of
MulticastProcessor.
Here is a call that MulticastType makes
{code:title=org.apache.camel.model.MulticastType.java}
return new MulticastProcessor(list, aggregationStrategy,
isParallelProcessing(), threadPoolExecutor);
{code}
MulticastProcessor ignores parallelProcessing and executor arguments and
invokes a chain constructor with "..,false, null,.."
{code:title=org.apache.camel.processor.MulticastProcessor.java}
public MulticastProcessor(Collection<Processor> processors,
AggregationStrategy aggregationStrategy, boolean parallelProcessing,
ThreadPoolExecutor executor) {
this(processors, aggregationStrategy, false, null, false);
}
public MulticastProcessor(Collection<Processor> processors,
AggregationStrategy aggregationStrategy, boolean parallelProcessing,
ThreadPoolExecutor executor, boolean streaming) {
notNull(processors, "processors");
this.processors = processors;
this.aggregationStrategy = aggregationStrategy;
this.isParallelProcessing = parallelProcessing;
if (isParallelProcessing) {
if (executor != null) {
this.executor = executor;
} else {
// setup default Executor
this.executor = new ThreadPoolExecutor(processors.size(),
processors.size(), 0, TimeUnit.MILLISECONDS, new
ArrayBlockingQueue<Runnable>(processors.size()));
}
}
this.streaming = streaming;
}
{code}
Attached a patch but have not tested it. Also need a unit test for this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.