You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dk...@apache.org on 2011/12/22 17:07:10 UTC

svn commit: r1222306 - in /camel/branches/camel-2.8.x: ./ camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java

Author: dkulp
Date: Thu Dec 22 16:07:09 2011
New Revision: 1222306

URL: http://svn.apache.org/viewvc?rev=1222306&view=rev
Log:
Merged revisions 1209051 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk

........
  r1209051 | ningjiang | 2011-12-01 07:36:09 -0500 (Thu, 01 Dec 2011) | 1 line
  
  CAMEL-4729 Supports to set the default value of SedaComponent
........

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/SedaComponent.java
    camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java

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/SedaComponent.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java?rev=1222306&r1=1222305&r2=1222306&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/main/java/org/apache/camel/component/seda/SedaComponent.java Thu Dec 22 16:07:09 2011
@@ -33,7 +33,25 @@ import org.apache.camel.impl.DefaultComp
  */
 public class SedaComponent extends DefaultComponent {
     protected final int maxConcurrentConsumers = 500;
+    protected int queueSize;
+    protected int defaultConcurrentConsumers = 1;
     private final Map<String, BlockingQueue<Exchange>> queues = new HashMap<String, BlockingQueue<Exchange>>();
+    
+    public void setQueueSize(int size) {
+        queueSize = size;
+    }
+    
+    public int getQueueSize() {
+        return queueSize;
+    }
+    
+    public void setConcurrentConsumers(int size) {
+        defaultConcurrentConsumers = size;
+    }
+    
+    public int getConcurrentConsumers() {
+        return defaultConcurrentConsumers;
+    }
 
     public synchronized BlockingQueue<Exchange> createQueue(String uri, Map<String, Object> parameters) {
         String key = getQueueKey(uri);
@@ -48,7 +66,11 @@ public class SedaComponent extends Defau
         if (size != null && size > 0) {
             queue = new LinkedBlockingQueue<Exchange>(size);
         } else {
-            queue = new LinkedBlockingQueue<Exchange>();
+            if (getQueueSize() > 0) {
+                queue = new LinkedBlockingQueue<Exchange>(getQueueSize());
+            } else {
+                queue = new LinkedBlockingQueue<Exchange>();
+            }
         }
 
         queues.put(key, queue);
@@ -57,7 +79,7 @@ public class SedaComponent extends Defau
 
     @Override
     protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-        int consumers = getAndRemoveParameter(parameters, "concurrentConsumers", Integer.class, 1);
+        int consumers = getAndRemoveParameter(parameters, "concurrentConsumers", Integer.class, defaultConcurrentConsumers);
         boolean limitConcurrentConsumers = getAndRemoveParameter(parameters, "limitConcurrentConsumers", Boolean.class, true);
         if (limitConcurrentConsumers && consumers >  maxConcurrentConsumers) {
             throw new IllegalArgumentException("The limitConcurrentConsumers flag in set to true. ConcurrentConsumers cannot be set at a value greater than "

Modified: camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java?rev=1222306&r1=1222305&r2=1222306&view=diff
==============================================================================
--- camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java (original)
+++ camel/branches/camel-2.8.x/camel-core/src/test/java/org/apache/camel/component/seda/SedaEndpointTest.java Thu Dec 22 16:07:09 2011
@@ -146,5 +146,16 @@ public class SedaEndpointTest extends Co
         assertSame(seda, consumer.getEndpoint());
         assertNotNull(consumer.toString());
     }
+    
+    public void testSedaDefaultValue() throws Exception {
+        SedaComponent sedaComponent = new SedaComponent();
+        sedaComponent.setQueueSize(300);
+        sedaComponent.setConcurrentConsumers(3);
+        context.addComponent("seda", sedaComponent);
+        SedaEndpoint seda = context.getEndpoint("seda://foo", SedaEndpoint.class);
+        
+        assertEquals(300, seda.getSize());
+        assertEquals(3, seda.getConcurrentConsumers());
+    }
 
 }