Author: davsclaus Date: Mon Dec 17 14:53:44 2012 New Revision: 1422957 URL: http://svn.apache.org/viewvc?rev=1422957&view=rev Log: CAMEL-5886: Added option backlog to camel-netty.
Added: camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyBacklogTest.java - copied, changed from r1422832, camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyTCPSyncTest.java Modified: camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java Modified: camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java?rev=1422957&r1=1422956&r2=1422957&view=diff ============================================================================== --- camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java (original) +++ camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConfiguration.java Mon Dec 17 14:53:44 2012 @@ -82,6 +82,7 @@ public class NettyConfiguration implemen private int producerPoolMinIdle; private int producerPoolMaxIdle = 100; private long producerPoolMinEvictableIdle = 5 * 60 * 1000L; + private int backlog; /** * Returns a copy of this configuration @@ -573,6 +574,14 @@ public class NettyConfiguration implemen this.producerPoolMinEvictableIdle = producerPoolMinEvictableIdle; } + public int getBacklog() { + return backlog; + } + + public void setBacklog(int backlog) { + this.backlog = backlog; + } + private static <T> void addToHandlersList(List<T> configured, List<T> handlers, Class<T> handlerType) { if (handlers != null) { for (int x = 0; x < handlers.size(); x++) { Modified: camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java?rev=1422957&r1=1422956&r2=1422957&view=diff ============================================================================== --- camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java (original) +++ camel/trunk/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java Mon Dec 17 14:53:44 2012 @@ -182,6 +182,13 @@ public class NettyConsumer extends Defau serverBootstrap.setOption("reuseAddress", configuration.isReuseAddress()); serverBootstrap.setOption("child.reuseAddress", configuration.isReuseAddress()); serverBootstrap.setOption("child.connectTimeoutMillis", configuration.getConnectTimeout()); + if (configuration.getBacklog() > 0) { + serverBootstrap.setOption("backlog", configuration.getBacklog()); + } + + if (log.isDebugEnabled()) { + log.debug("Created ServerBootstrap {} with options: {}", serverBootstrap, serverBootstrap.getOptions()); + } // set the pipeline factory, which creates the pipeline for each newly created channels serverBootstrap.setPipelineFactory(pipelineFactory); @@ -212,6 +219,13 @@ public class NettyConsumer extends Defau connectionlessServerBootstrap.setOption("receiveBufferSizePredictorFactory", new FixedReceiveBufferSizePredictorFactory(configuration.getReceiveBufferSizePredictor())); } + if (configuration.getBacklog() > 0) { + serverBootstrap.setOption("backlog", configuration.getBacklog()); + } + + if (log.isDebugEnabled()) { + log.debug("Created ConnectionlessBootstrap {} with options: {}", connectionlessServerBootstrap, connectionlessServerBootstrap.getOptions()); + } // set the pipeline factory, which creates the pipeline for each newly created channels connectionlessServerBootstrap.setPipelineFactory(pipelineFactory); Copied: camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyBacklogTest.java (from r1422832, camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyTCPSyncTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyBacklogTest.java?p2=camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyBacklogTest.java&p1=camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyTCPSyncTest.java&r1=1422832&r2=1422957&rev=1422957&view=diff ============================================================================== --- camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyTCPSyncTest.java (original) +++ camel/trunk/components/camel-netty/src/test/java/org/apache/camel/component/netty/NettyBacklogTest.java Mon Dec 17 14:53:44 2012 @@ -18,50 +18,16 @@ package org.apache.camel.component.netty import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.camel.Produce; -import org.apache.camel.ProducerTemplate; import org.apache.camel.builder.RouteBuilder; -import org.junit.Test; -public class NettyTCPSyncTest extends BaseNettyTest { - - @Produce(uri = "direct:start") - protected ProducerTemplate producerTemplate; - - @Test - public void testTCPStringInOutWithNettyConsumer() throws Exception { - String response = producerTemplate.requestBody( - "netty:tcp://localhost:{{port}}?sync=true", - "Epitaph in Kohima, India marking the WWII Battle of Kohima and Imphal, Burma Campaign - Attributed to John Maxwell Edmonds", String.class); - assertEquals("When You Go Home, Tell Them Of Us And Say, For Your Tomorrow, We Gave Our Today.", response); - } - - @Test - public void testTCPStringInOutWithNettyConsumer2Times() throws Exception { - String response = producerTemplate.requestBody( - "netty:tcp://localhost:{{port}}?sync=true", - "Epitaph in Kohima, India marking the WWII Battle of Kohima and Imphal, Burma Campaign - Attributed to John Maxwell Edmonds", String.class); - assertEquals("When You Go Home, Tell Them Of Us And Say, For Your Tomorrow, We Gave Our Today.", response); - - response = producerTemplate.requestBody( - "netty:tcp://localhost:{{port}}?sync=true", - "Hello World", String.class); - assertEquals("When You Go Home, Tell Them Of Us And Say, For Your Tomorrow, We Gave Our Today.", response); - } - - @Test - public void testTCPObjectInOutWithNettyConsumer() throws Exception { - Poetry poetry = new Poetry(); - Poetry response = (Poetry) producerTemplate.requestBody("netty:tcp://localhost:{{port}}?sync=true", poetry); - assertEquals("Dr. Sarojini Naidu", response.getPoet()); - } +public class NettyBacklogTest extends NettyTCPSyncTest { @Override protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { @Override public void configure() throws Exception { - from("netty:tcp://localhost:{{port}}?sync=true") + from("netty:tcp://localhost:{{port}}?sync=true&backlog=500") .process(new Processor() { public void process(Exchange exchange) throws Exception { if (exchange.getIn().getBody() instanceof Poetry) {