You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2011/11/15 13:07:27 UTC
svn commit: r1202151 - in /camel/branches/camel-2.8.x: ./
camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentConsumersNPEIssueTest.java
Author: davsclaus
Date: Tue Nov 15 12:07:26 2011
New Revision: 1202151
URL: http://svn.apache.org/viewvc?rev=1202151&view=rev
Log:
CAMEL-4650: Fixed NPE in seda consumer and check for multiple consumers supported if multicasting.
Added:
camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentConsumersNPEIssueTest.java
- copied unchanged from r1202148, camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaConcurrentConsumersNPEIssueTest.java
Modified:
camel/branches/camel-2.8.x/ (props changed)
camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
svn:mergeinfo = /camel/trunk:1202148
Propchange: camel/branches/camel-2.8.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java?rev=1202151&r1=1202150&r2=1202151&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java Tue Nov 15 12:07:26 2011
@@ -37,6 +37,7 @@ import org.apache.camel.processor.Multic
import org.apache.camel.spi.ExceptionHandler;
import org.apache.camel.spi.ShutdownAware;
import org.apache.camel.util.AsyncProcessorHelper;
+import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -199,12 +200,18 @@ public class SedaConsumer extends Servic
// if there are multiple consumers then multicast to them
if (size > 1) {
+ // validate multiple consumers has been enabled
+ if (!endpoint.isMultipleConsumersSupported()) {
+ throw new IllegalStateException("Multiple consumers for the same endpoint is not allowed: " + endpoint);
+ }
+
if (LOG.isDebugEnabled()) {
LOG.debug("Multicasting to {} consumers for Exchange: {}", endpoint.getConsumers().size(), exchange);
}
// use a multicast processor to process it
MulticastProcessor mp = endpoint.getConsumerMulticastProcessor();
+ ObjectHelper.notNull(mp, "ConsumerMulticastProcessor", this);
// and use the asynchronous routing engine to support it
AsyncProcessorHelper.process(mp, exchange, new AsyncCallback() {