camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From davscl...@apache.org
Subject [03/11] camel git commit: CAMEL-10197: Source check
Date Tue, 02 Aug 2016 06:43:31 GMT
CAMEL-10197: Source check


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/519765f8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/519765f8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/519765f8

Branch: refs/heads/master
Commit: 519765f8dcae1a53a5c9ee237a2f964e46960d84
Parents: bdab2fc
Author: Nicola Ferraro <ni.ferraro@gmail.com>
Authored: Mon Aug 1 23:19:15 2016 +0200
Committer: Claus Ibsen <davsclaus@apache.org>
Committed: Tue Aug 2 08:13:50 2016 +0200

----------------------------------------------------------------------
 components/camel-cache/src/main/docs/cache.adoc |   4 +-
 .../camel/component/cache/CacheComponent.java   |   8 +-
 .../springboot/CacheComponentConfiguration.java |   3 +-
 .../component/ganglia/GangliaComponent.java     |   8 +-
 .../component/ganglia/GangliaConfiguration.java |   1 +
 .../src/main/docs/netty-http.adoc               |  69 +-
 .../NettyHttpComponentConfiguration.java        | 856 ++++++++++++++++++
 .../src/main/docs/netty4-http.adoc              |  72 +-
 .../NettyHttpComponentConfiguration.java        | 897 +++++++++++++++++++
 .../undertow/DefaultUndertowHttpBinding.java    |  26 +-
 .../component/undertow/UndertowComponent.java   |  17 +-
 11 files changed, 1926 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/519765f8/components/camel-cache/src/main/docs/cache.adoc
----------------------------------------------------------------------
diff --git a/components/camel-cache/src/main/docs/cache.adoc b/components/camel-cache/src/main/docs/cache.adoc
index 663fda2..71ab13c 100644
--- a/components/camel-cache/src/main/docs/cache.adoc
+++ b/components/camel-cache/src/main/docs/cache.adoc
@@ -47,6 +47,7 @@ Options
 
 
 
+
 // component options: START
 The EHCache component supports 15 options which are listed below.
 
@@ -57,7 +58,7 @@ The EHCache component supports 15 options which are listed below.
 |=======================================================================
 | Name | Java Type | Description
 | cacheManagerFactory | CacheManagerFactory | To use the given CacheManagerFactory for creating the CacheManager. By default the DefaultCacheManagerFactory is used.
-| configuration | CacheConfiguration | Sets the Cache configuration
+| configuration | CacheConfiguration | Sets the Cache configuration. Properties of the shared configuration can also be set individually.
 | configurationFile | String | Sets the location of the ehcache.xml file to load from classpath or file system. By default the file is loaded from classpath:ehcache.xml
 | cacheName | String | Name of the cache
 | maxElementsInMemory | int | The number of elements that may be stored in the defined cache in memory.
@@ -78,6 +79,7 @@ The EHCache component supports 15 options which are listed below.
 
 
 
+
 // endpoint options: START
 The EHCache component supports 20 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/519765f8/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java
index 33ad564..d9086d8 100755
--- a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java
+++ b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java
@@ -19,6 +19,8 @@ package org.apache.camel.component.cache;
 import java.io.InputStream;
 import java.util.Map;
 
+import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
 import org.apache.camel.impl.UriEndpointComponent;
@@ -26,13 +28,11 @@ import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.ResourceHelper;
 import org.apache.camel.util.ServiceHelper;
 
-import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
-
 public class CacheComponent extends UriEndpointComponent {
     private CacheConfiguration configuration;
     private CacheManagerFactory cacheManagerFactory;
     private String configurationFile;
-    
+
     public CacheComponent() {
         super(CacheEndpoint.class);
         configuration = new CacheConfiguration();
@@ -44,7 +44,7 @@ public class CacheComponent extends UriEndpointComponent {
     }
 
     @Override
-    @SuppressWarnings({ "unchecked", "rawtypes" })
+    @SuppressWarnings({"unchecked", "rawtypes"})
     protected Endpoint createEndpoint(String uri, String remaining, Map parameters) throws Exception {
         // must use copy as each endpoint can have different options
         ObjectHelper.notNull(configuration, "configuration");

http://git-wip-us.apache.org/repos/asf/camel/blob/519765f8/components/camel-cache/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-cache/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java b/components/camel-cache/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java
index 812fc00..994c43f 100644
--- a/components/camel-cache/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java
+++ b/components/camel-cache/src/main/java/org/apache/camel/component/cache/springboot/CacheComponentConfiguration.java
@@ -38,7 +38,8 @@ public class CacheComponentConfiguration {
      */
     private CacheManagerFactory cacheManagerFactory;
     /**
-     * Sets the Cache configuration
+     * Sets the Cache configuration. Properties of the shared configuration can
+     * also be set individually.
      */
     private CacheConfiguration configuration;
     /**

http://git-wip-us.apache.org/repos/asf/camel/blob/519765f8/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
----------------------------------------------------------------------
diff --git a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
index f28010c..59bb626 100644
--- a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
+++ b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaComponent.java
@@ -19,14 +19,14 @@ package org.apache.camel.component.ganglia;
 import java.net.URI;
 import java.util.Map;
 
-import org.apache.camel.Endpoint;
-import org.apache.camel.impl.UriEndpointComponent;
-import org.apache.camel.util.ObjectHelper;
-
 import info.ganglia.gmetric4j.gmetric.GMetric;
 import info.ganglia.gmetric4j.gmetric.GMetricSlope;
 import info.ganglia.gmetric4j.gmetric.GMetricType;
 
+import org.apache.camel.Endpoint;
+import org.apache.camel.impl.UriEndpointComponent;
+import org.apache.camel.util.ObjectHelper;
+
 public class GangliaComponent extends UriEndpointComponent {
 
     private GangliaConfiguration configuration;

http://git-wip-us.apache.org/repos/asf/camel/blob/519765f8/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaConfiguration.java b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaConfiguration.java
index 6da1412..3b0b2e5 100644
--- a/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaConfiguration.java
+++ b/components/camel-ganglia/src/main/java/org/apache/camel/component/ganglia/GangliaConfiguration.java
@@ -22,6 +22,7 @@ import java.net.URI;
 import info.ganglia.gmetric4j.gmetric.GMetric;
 import info.ganglia.gmetric4j.gmetric.GMetricSlope;
 import info.ganglia.gmetric4j.gmetric.GMetricType;
+
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriParams;

http://git-wip-us.apache.org/repos/asf/camel/blob/519765f8/components/camel-netty-http/src/main/docs/netty-http.adoc
----------------------------------------------------------------------
diff --git a/components/camel-netty-http/src/main/docs/netty-http.adoc b/components/camel-netty-http/src/main/docs/netty-http.adoc
index b02efbd..c8191c4 100644
--- a/components/camel-netty-http/src/main/docs/netty-http.adoc
+++ b/components/camel-netty-http/src/main/docs/netty-http.adoc
@@ -79,8 +79,9 @@ options related to UDP transport.
 
 
 
+
 // component options: START
-The Netty HTTP component supports 5 options which are listed below.
+The Netty HTTP component supports 68 options which are listed below.
 
 
 
@@ -91,8 +92,71 @@ The Netty HTTP component supports 5 options which are listed below.
 | nettyHttpBinding | NettyHttpBinding | To use a custom org.apache.camel.component.netty.http.NettyHttpBinding for binding to/from Netty and Camel Message API.
 | headerFilterStrategy | HeaderFilterStrategy | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.
 | securityConfiguration | NettyHttpSecurityConfiguration | Refers to a org.apache.camel.component.netty.http.NettyHttpSecurityConfiguration for configuring secure web resources.
-| configuration | NettyConfiguration | To use the NettyConfiguration as configuration when creating endpoints.
+| configuration | NettyConfiguration | To use the NettyConfiguration as configuration when creating endpoints. Properties of the shared configuration can also be set individually.
 | maximumPoolSize | int | The core pool size for the ordered thread pool if its in use. The default value is 16.
+| orderedThreadPoolExecutor | boolean | Whether to use ordered thread pool to ensure events are processed orderly on the same channel. See details at the netty javadoc of org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor for more details.
+| producerPoolMaxActive | int | Sets the cap on the number of objects that can be allocated by the pool (checked out to clients or idle awaiting checkout) at a given time. Use a negative value for no limit.
+| producerPoolMinIdle | int | Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects.
+| producerPoolMaxIdle | int | Sets the cap on the number of idle instances in the pool.
+| producerPoolMinEvictableIdle | long | Sets the minimum amount of time (value in millis) an object may sit idle in the pool before it is eligible for eviction by the idle object evictor.
+| producerPoolEnabled | boolean | Whether producer pool is enabled or not. Important: Do not turn this off as the pooling is needed for handling concurrency and reliable request/reply.
+| udpConnectionlessSending | boolean | This option supports connection less udp sending which is a real fire and forget. A connected udp send receive the PortUnreachableException if no one is listen on the receiving port.
+| clientMode | boolean | If the clientMode is true netty consumer will connect the address as a TCP client.
+| useChannelBuffer | boolean | If the useChannelBuffer is true netty producer will turn the message body into ChannelBuffer before sending it out.
+| maxChannelMemorySize | long | The maximum total size of the queued events per channel when using orderedThreadPoolExecutor. Specify 0 to disable.
+| maxTotalMemorySize | long | The maximum total size of the queued events for this pool when using orderedThreadPoolExecutor. Specify 0 to disable.
+| protocol | String | The protocol to use which can be tcp or udp.
+| host | String | The hostname. For the consumer the hostname is localhost or 0.0.0.0 For the producer the hostname is the remote host to connect to
+| port | int | The host port number
+| broadcast | boolean | Setting to choose Multicast over UDP
+| sendBufferSize | long | The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes.
+| receiveBufferSize | long | The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes.
+| receiveBufferSizePredictor | int | Configures the buffer size predictor. See details at Jetty documentation and this mail thread.
+| workerCount | int | When netty works on nio mode it uses default workerCount parameter from Netty which is cpu_core_threads2. User can use this operation to override the default workerCount from Netty
+| bossCount | int | When netty works on nio mode it uses default bossCount parameter from Netty which is 1. User can use this operation to override the default bossCount from Netty
+| keepAlive | boolean | Setting to ensure socket is not closed due to inactivity
+| tcpNoDelay | boolean | Setting to improve TCP protocol performance
+| reuseAddress | boolean | Setting to facilitate socket multiplexing
+| connectTimeout | long | Time to wait for a socket connection to be available. Value is in millis.
+| backlog | int | Allows to configure a backlog for netty consumer (server). Note the backlog is just a best effort depending on the OS. Setting this option to a value such as 200 500 or 1000 tells the TCP stack how long the accept queue can be If this option is not configured then the backlog depends on OS setting.
+| ssl | boolean | Setting to specify whether SSL encryption is applied to this endpoint
+| sslClientCertHeaders | boolean | When enabled and in SSL mode then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name issuer name serial number and the valid date range.
+| sslHandler | SslHandler | Reference to a class that could be used to return an SSL Handler
+| sslContextParameters | SSLContextParameters | To configure security using SSLContextParameters
+| needClientAuth | boolean | Configures whether the server needs client authentication when using SSL.
+| keyStoreResource | String | Client side certificate keystore to be used for encryption. Is loaded by default from classpath but you can prefix with classpath: file: or http: to load the resource from different systems.
+| trustStoreResource | String | Server side certificate keystore to be used for encryption. Is loaded by default from classpath but you can prefix with classpath: file: or http: to load the resource from different systems.
+| keyStoreFormat | String | Keystore format to be used for payload encryption. Defaults to JKS if not set
+| securityProvider | String | Security provider to be used for payload encryption. Defaults to SunX509 if not set.
+| passphrase | String | Password setting to use in order to encrypt/decrypt payloads sent using SSH
+| serverPipelineFactory | ServerPipelineFactory | To use a custom ServerPipelineFactory
+| requestTimeout | long | Allows to use a timeout for the Netty producer when calling a remote server. By default no timeout is in use. The value is in milli seconds so eg 30000 is 30 seconds. The requestTimeout is using Netty's ReadTimeoutHandler to trigger the timeout.
+| nettyServerBootstrapFactory | NettyServerBootstrapFactory | To use a custom NettyServerBootstrapFactory
+| sync | boolean | Setting to set endpoint as one-way or request-response
+| textline | boolean | Only used for TCP. If no codec is specified you can use this flag to indicate a text line based codec; if not specified or the value is false then Object Serialization is assumed over TCP.
+| options | Map | Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used.
+| decoderMaxLineLength | int | The max line length to use for the textline codec.
+| bossPool | BossPool | To use a explicit org.jboss.netty.channel.socket.nio.BossPool as the boss thread pool. For example to share a thread pool with multiple consumers. By default each consumer has their own boss pool with 1 core thread.
+| delimiter | TextLineDelimiter | The delimiter to use for the textline codec. Possible values are LINE and NULL.
+| autoAppendDelimiter | boolean | Whether or not to auto append missing end delimiter when sending using the textline codec.
+| workerPool | WorkerPool | To use a explicit org.jboss.netty.channel.socket.nio.WorkerPool as the worker thread pool. For example to share a thread pool with multiple consumers. By default each consumer has their own worker pool with 2 x cpu count core threads.
+| channelGroup | ChannelGroup | To use a explicit ChannelGroup.
+| encoding | String | The encoding (a charset name) to use for the textline codec. If not provided Camel will use the JVM default Charset.
+| networkInterface | String | When using UDP then this option can be used to specify a network interface by its name such as eth0 to join a multicast group.
+| decoders | List | A list of decoders to be used. You can use a String which have values separated by comma and have the values be looked up in the Registry. Just remember to prefix the value with so Camel knows it should lookup.
+| enabledProtocols | String | Which protocols to enable when using SSL
+| encoders | List | A list of encoders to be used. You can use a String which have values separated by comma and have the values be looked up in the Registry. Just remember to prefix the value with so Camel knows it should lookup.
+| encoder | ChannelHandler | A custom ChannelHandler class that can be used to perform special marshalling of outbound payloads. Must override org.jboss.netty.channel.ChannelDownStreamHandler.
+| decoder | ChannelHandler | A custom ChannelHandler class that can be used to perform special marshalling of inbound payloads. Must override org.jboss.netty.channel.ChannelUpStreamHandler.
+| disconnect | boolean | Whether or not to disconnect(close) from Netty Channel right after use. Can be used for both consumer and producer.
+| lazyChannelCreation | boolean | Channels can be lazily created to avoid exceptions if the remote server is not up and running when the Camel producer is started.
+| transferExchange | boolean | Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body Out body fault body In headers Out headers fault headers exchange properties exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.
+| disconnectOnNoReply | boolean | If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back.
+| noReplyLogLevel | LoggingLevel | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back.
+| serverExceptionCaughtLogLevel | LoggingLevel | If the server (NettyConsumer) catches an exception then its logged using this logging level.
+| serverClosedChannelExceptionCaughtLogLevel | LoggingLevel | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server.
+| allowDefaultCodec | boolean | The netty component installs a default codec if both encoder/deocder is null and textline is false. Setting allowDefaultCodec to false prevents the netty component from installing a default codec as the first element in the filter chain.
+| clientPipelineFactory | ClientPipelineFactory | To use a custom ClientPipelineFactory
 |=======================================================================
 {% endraw %}
 // component options: END
@@ -102,6 +166,7 @@ The Netty HTTP component supports 5 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Netty HTTP component supports 82 endpoint options which are listed below:
 

http://git-wip-us.apache.org/repos/asf/camel/blob/519765f8/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/springboot/NettyHttpComponentConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/springboot/NettyHttpComponentConfiguration.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/springboot/NettyHttpComponentConfiguration.java
index 2fa39a16..2ecdef6 100644
--- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/springboot/NettyHttpComponentConfiguration.java
+++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/springboot/NettyHttpComponentConfiguration.java
@@ -16,10 +16,23 @@
  */
 package org.apache.camel.component.netty.http.springboot;
 
+import java.util.List;
+import java.util.Map;
+import org.apache.camel.LoggingLevel;
+import org.apache.camel.component.netty.ClientPipelineFactory;
 import org.apache.camel.component.netty.NettyConfiguration;
+import org.apache.camel.component.netty.NettyServerBootstrapFactory;
+import org.apache.camel.component.netty.ServerPipelineFactory;
+import org.apache.camel.component.netty.TextLineDelimiter;
 import org.apache.camel.component.netty.http.NettyHttpBinding;
 import org.apache.camel.component.netty.http.NettyHttpSecurityConfiguration;
 import org.apache.camel.spi.HeaderFilterStrategy;
+import org.apache.camel.util.jsse.SSLContextParameters;
+import org.jboss.netty.channel.ChannelHandler;
+import org.jboss.netty.channel.group.ChannelGroup;
+import org.jboss.netty.channel.socket.nio.BossPool;
+import org.jboss.netty.channel.socket.nio.WorkerPool;
+import org.jboss.netty.handler.ssl.SslHandler;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 /**
@@ -48,6 +61,7 @@ public class NettyHttpComponentConfiguration {
     private NettyHttpSecurityConfiguration securityConfiguration;
     /**
      * To use the NettyConfiguration as configuration when creating endpoints.
+     * Properties of the shared configuration can also be set individually.
      */
     private NettyConfiguration configuration;
     /**
@@ -55,6 +69,337 @@ public class NettyHttpComponentConfiguration {
      * value is 16.
      */
     private Integer maximumPoolSize;
+    /**
+     * Whether to use ordered thread pool to ensure events are processed orderly
+     * on the same channel. See details at the netty javadoc of
+     * org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor
+     * for more details.
+     */
+    private Boolean orderedThreadPoolExecutor = false;
+    /**
+     * Sets the cap on the number of objects that can be allocated by the pool
+     * (checked out to clients or idle awaiting checkout) at a given time. Use a
+     * negative value for no limit.
+     */
+    private Integer producerPoolMaxActive;
+    /**
+     * Sets the minimum number of instances allowed in the producer pool before
+     * the evictor thread (if active) spawns new objects.
+     */
+    private Integer producerPoolMinIdle;
+    /**
+     * Sets the cap on the number of idle instances in the pool.
+     */
+    private Integer producerPoolMaxIdle;
+    /**
+     * Sets the minimum amount of time (value in millis) an object may sit idle
+     * in the pool before it is eligible for eviction by the idle object
+     * evictor.
+     */
+    private long producerPoolMinEvictableIdle;
+    /**
+     * Whether producer pool is enabled or not. Important: Do not turn this off
+     * as the pooling is needed for handling concurrency and reliable
+     * request/reply.
+     */
+    private Boolean producerPoolEnabled = false;
+    /**
+     * This option supports connection less udp sending which is a real fire and
+     * forget. A connected udp send receive the PortUnreachableException if no
+     * one is listen on the receiving port.
+     */
+    private Boolean udpConnectionlessSending = false;
+    /**
+     * If the clientMode is true netty consumer will connect the address as a
+     * TCP client.
+     */
+    private Boolean clientMode = false;
+    /**
+     * If the useChannelBuffer is true netty producer will turn the message body
+     * into ChannelBuffer before sending it out.
+     */
+    private Boolean useChannelBuffer = false;
+    /**
+     * The maximum total size of the queued events per channel when using
+     * orderedThreadPoolExecutor. Specify 0 to disable.
+     */
+    private long maxChannelMemorySize;
+    /**
+     * The maximum total size of the queued events for this pool when using
+     * orderedThreadPoolExecutor. Specify 0 to disable.
+     */
+    private long maxTotalMemorySize;
+    /**
+     * The protocol to use which can be tcp or udp.
+     */
+    private String protocol;
+    /**
+     * The hostname. For the consumer the hostname is localhost or 0.0.0.0 For
+     * the producer the hostname is the remote host to connect to
+     */
+    private String host;
+    /**
+     * The host port number
+     */
+    private Integer port;
+    /**
+     * Setting to choose Multicast over UDP
+     */
+    private Boolean broadcast = false;
+    /**
+     * The TCP/UDP buffer sizes to be used during outbound communication. Size
+     * is bytes.
+     */
+    private long sendBufferSize;
+    /**
+     * The TCP/UDP buffer sizes to be used during inbound communication. Size is
+     * bytes.
+     */
+    private long receiveBufferSize;
+    /**
+     * Configures the buffer size predictor. See details at Jetty documentation
+     * and this mail thread.
+     */
+    private Integer receiveBufferSizePredictor;
+    /**
+     * When netty works on nio mode it uses default workerCount parameter from
+     * Netty which is cpu_core_threads2. User can use this operation to override
+     * the default workerCount from Netty
+     */
+    private Integer workerCount;
+    /**
+     * When netty works on nio mode it uses default bossCount parameter from
+     * Netty which is 1. User can use this operation to override the default
+     * bossCount from Netty
+     */
+    private Integer bossCount;
+    /**
+     * Setting to ensure socket is not closed due to inactivity
+     */
+    private Boolean keepAlive = false;
+    /**
+     * Setting to improve TCP protocol performance
+     */
+    private Boolean tcpNoDelay = false;
+    /**
+     * Setting to facilitate socket multiplexing
+     */
+    private Boolean reuseAddress = false;
+    /**
+     * Time to wait for a socket connection to be available. Value is in millis.
+     */
+    private long connectTimeout;
+    /**
+     * Allows to configure a backlog for netty consumer (server). Note the
+     * backlog is just a best effort depending on the OS. Setting this option to
+     * a value such as 200 500 or 1000 tells the TCP stack how long the accept
+     * queue can be If this option is not configured then the backlog depends on
+     * OS setting.
+     */
+    private Integer backlog;
+    /**
+     * Setting to specify whether SSL encryption is applied to this endpoint
+     */
+    private Boolean ssl = false;
+    /**
+     * When enabled and in SSL mode then the Netty consumer will enrich the
+     * Camel Message with headers having information about the client
+     * certificate such as subject name issuer name serial number and the valid
+     * date range.
+     */
+    private Boolean sslClientCertHeaders = false;
+    /**
+     * Reference to a class that could be used to return an SSL Handler
+     */
+    private SslHandler sslHandler;
+    /**
+     * To configure security using SSLContextParameters
+     */
+    private SSLContextParameters sslContextParameters;
+    /**
+     * Configures whether the server needs client authentication when using SSL.
+     */
+    private Boolean needClientAuth = false;
+    /**
+     * Client side certificate keystore to be used for encryption. Is loaded by
+     * default from classpath but you can prefix with classpath: file: or http:
+     * to load the resource from different systems.
+     */
+    private String keyStoreResource;
+    /**
+     * Server side certificate keystore to be used for encryption. Is loaded by
+     * default from classpath but you can prefix with classpath: file: or http:
+     * to load the resource from different systems.
+     */
+    private String trustStoreResource;
+    /**
+     * Keystore format to be used for payload encryption. Defaults to JKS if not
+     * set
+     */
+    private String keyStoreFormat;
+    /**
+     * Security provider to be used for payload encryption. Defaults to SunX509
+     * if not set.
+     */
+    private String securityProvider;
+    /**
+     * Password setting to use in order to encrypt/decrypt payloads sent using
+     * SSH
+     */
+    private String passphrase;
+    /**
+     * To use a custom ServerPipelineFactory
+     */
+    private ServerPipelineFactory serverPipelineFactory;
+    /**
+     * Allows to use a timeout for the Netty producer when calling a remote
+     * server. By default no timeout is in use. The value is in milli seconds so
+     * eg 30000 is 30 seconds. The requestTimeout is using Netty's
+     * ReadTimeoutHandler to trigger the timeout.
+     */
+    private long requestTimeout;
+    /**
+     * To use a custom NettyServerBootstrapFactory
+     */
+    private NettyServerBootstrapFactory nettyServerBootstrapFactory;
+    /**
+     * Setting to set endpoint as one-way or request-response
+     */
+    private Boolean sync = false;
+    /**
+     * Only used for TCP. If no codec is specified you can use this flag to
+     * indicate a text line based codec; if not specified or the value is false
+     * then Object Serialization is assumed over TCP.
+     */
+    private Boolean textline = false;
+    /**
+     * Allows to configure additional netty options using option. as prefix. For
+     * example option.child.keepAlive=false to set the netty option
+     * child.keepAlive=false. See the Netty documentation for possible options
+     * that can be used.
+     */
+    private Map<String, Object> options;
+    /**
+     * The max line length to use for the textline codec.
+     */
+    private Integer decoderMaxLineLength;
+    /**
+     * To use a explicit org.jboss.netty.channel.socket.nio.BossPool as the boss
+     * thread pool. For example to share a thread pool with multiple consumers.
+     * By default each consumer has their own boss pool with 1 core thread.
+     */
+    private BossPool bossPool;
+    /**
+     * The delimiter to use for the textline codec. Possible values are LINE and
+     * NULL.
+     */
+    private TextLineDelimiter delimiter;
+    /**
+     * Whether or not to auto append missing end delimiter when sending using
+     * the textline codec.
+     */
+    private Boolean autoAppendDelimiter = false;
+    /**
+     * To use a explicit org.jboss.netty.channel.socket.nio.WorkerPool as the
+     * worker thread pool. For example to share a thread pool with multiple
+     * consumers. By default each consumer has their own worker pool with 2 x
+     * cpu count core threads.
+     */
+    private WorkerPool workerPool;
+    /**
+     * To use a explicit ChannelGroup.
+     */
+    private ChannelGroup channelGroup;
+    /**
+     * The encoding (a charset name) to use for the textline codec. If not
+     * provided Camel will use the JVM default Charset.
+     */
+    private String encoding;
+    /**
+     * When using UDP then this option can be used to specify a network
+     * interface by its name such as eth0 to join a multicast group.
+     */
+    private String networkInterface;
+    /**
+     * A list of decoders to be used. You can use a String which have values
+     * separated by comma and have the values be looked up in the Registry. Just
+     * remember to prefix the value with so Camel knows it should lookup.
+     */
+    private List<ChannelHandler> decoders;
+    /**
+     * Which protocols to enable when using SSL
+     */
+    private String enabledProtocols;
+    /**
+     * A list of encoders to be used. You can use a String which have values
+     * separated by comma and have the values be looked up in the Registry. Just
+     * remember to prefix the value with so Camel knows it should lookup.
+     */
+    private List<ChannelHandler> encoders;
+    /**
+     * A custom ChannelHandler class that can be used to perform special
+     * marshalling of outbound payloads. Must override
+     * org.jboss.netty.channel.ChannelDownStreamHandler.
+     */
+    private ChannelHandler encoder;
+    /**
+     * A custom ChannelHandler class that can be used to perform special
+     * marshalling of inbound payloads. Must override
+     * org.jboss.netty.channel.ChannelUpStreamHandler.
+     */
+    private ChannelHandler decoder;
+    /**
+     * Whether or not to disconnect(close) from Netty Channel right after use.
+     * Can be used for both consumer and producer.
+     */
+    private Boolean disconnect = false;
+    /**
+     * Channels can be lazily created to avoid exceptions if the remote server
+     * is not up and running when the Camel producer is started.
+     */
+    private Boolean lazyChannelCreation = false;
+    /**
+     * Only used for TCP. You can transfer the exchange over the wire instead of
+     * just the body. The following fields are transferred: In body Out body
+     * fault body In headers Out headers fault headers exchange properties
+     * exchange exception. This requires that the objects are serializable.
+     * Camel will exclude any non-serializable objects and log it at WARN level.
+     */
+    private Boolean transferExchange = false;
+    /**
+     * If sync is enabled then this option dictates NettyConsumer if it should
+     * disconnect where there is no reply to send back.
+     */
+    private Boolean disconnectOnNoReply = false;
+    /**
+     * If sync is enabled this option dictates NettyConsumer which logging level
+     * to use when logging a there is no reply to send back.
+     */
+    private LoggingLevel noReplyLogLevel;
+    /**
+     * If the server (NettyConsumer) catches an exception then its logged using
+     * this logging level.
+     */
+    private LoggingLevel serverExceptionCaughtLogLevel;
+    /**
+     * If the server (NettyConsumer) catches an
+     * java.nio.channels.ClosedChannelException then its logged using this
+     * logging level. This is used to avoid logging the closed channel
+     * exceptions as clients can disconnect abruptly and then cause a flood of
+     * closed exceptions in the Netty server.
+     */
+    private LoggingLevel serverClosedChannelExceptionCaughtLogLevel;
+    /**
+     * The netty component installs a default codec if both encoder/deocder is
+     * null and textline is false. Setting allowDefaultCodec to false prevents
+     * the netty component from installing a default codec as the first element
+     * in the filter chain.
+     */
+    private Boolean allowDefaultCodec = false;
+    /**
+     * To use a custom ClientPipelineFactory
+     */
+    private ClientPipelineFactory clientPipelineFactory;
 
     public NettyHttpBinding getNettyHttpBinding() {
         return nettyHttpBinding;
@@ -97,4 +442,515 @@ public class NettyHttpComponentConfiguration {
     public void setMaximumPoolSize(Integer maximumPoolSize) {
         this.maximumPoolSize = maximumPoolSize;
     }
+
+    public Boolean getOrderedThreadPoolExecutor() {
+        return orderedThreadPoolExecutor;
+    }
+
+    public void setOrderedThreadPoolExecutor(Boolean orderedThreadPoolExecutor) {
+        this.orderedThreadPoolExecutor = orderedThreadPoolExecutor;
+    }
+
+    public Integer getProducerPoolMaxActive() {
+        return producerPoolMaxActive;
+    }
+
+    public void setProducerPoolMaxActive(Integer producerPoolMaxActive) {
+        this.producerPoolMaxActive = producerPoolMaxActive;
+    }
+
+    public Integer getProducerPoolMinIdle() {
+        return producerPoolMinIdle;
+    }
+
+    public void setProducerPoolMinIdle(Integer producerPoolMinIdle) {
+        this.producerPoolMinIdle = producerPoolMinIdle;
+    }
+
+    public Integer getProducerPoolMaxIdle() {
+        return producerPoolMaxIdle;
+    }
+
+    public void setProducerPoolMaxIdle(Integer producerPoolMaxIdle) {
+        this.producerPoolMaxIdle = producerPoolMaxIdle;
+    }
+
+    public long getProducerPoolMinEvictableIdle() {
+        return producerPoolMinEvictableIdle;
+    }
+
+    public void setProducerPoolMinEvictableIdle(
+            long producerPoolMinEvictableIdle) {
+        this.producerPoolMinEvictableIdle = producerPoolMinEvictableIdle;
+    }
+
+    public Boolean getProducerPoolEnabled() {
+        return producerPoolEnabled;
+    }
+
+    public void setProducerPoolEnabled(Boolean producerPoolEnabled) {
+        this.producerPoolEnabled = producerPoolEnabled;
+    }
+
+    public Boolean getUdpConnectionlessSending() {
+        return udpConnectionlessSending;
+    }
+
+    public void setUdpConnectionlessSending(Boolean udpConnectionlessSending) {
+        this.udpConnectionlessSending = udpConnectionlessSending;
+    }
+
+    public Boolean getClientMode() {
+        return clientMode;
+    }
+
+    public void setClientMode(Boolean clientMode) {
+        this.clientMode = clientMode;
+    }
+
+    public Boolean getUseChannelBuffer() {
+        return useChannelBuffer;
+    }
+
+    public void setUseChannelBuffer(Boolean useChannelBuffer) {
+        this.useChannelBuffer = useChannelBuffer;
+    }
+
+    public long getMaxChannelMemorySize() {
+        return maxChannelMemorySize;
+    }
+
+    public void setMaxChannelMemorySize(long maxChannelMemorySize) {
+        this.maxChannelMemorySize = maxChannelMemorySize;
+    }
+
+    public long getMaxTotalMemorySize() {
+        return maxTotalMemorySize;
+    }
+
+    public void setMaxTotalMemorySize(long maxTotalMemorySize) {
+        this.maxTotalMemorySize = maxTotalMemorySize;
+    }
+
+    public String getProtocol() {
+        return protocol;
+    }
+
+    public void setProtocol(String protocol) {
+        this.protocol = protocol;
+    }
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
+
+    public Integer getPort() {
+        return port;
+    }
+
+    public void setPort(Integer port) {
+        this.port = port;
+    }
+
+    public Boolean getBroadcast() {
+        return broadcast;
+    }
+
+    public void setBroadcast(Boolean broadcast) {
+        this.broadcast = broadcast;
+    }
+
+    public long getSendBufferSize() {
+        return sendBufferSize;
+    }
+
+    public void setSendBufferSize(long sendBufferSize) {
+        this.sendBufferSize = sendBufferSize;
+    }
+
+    public long getReceiveBufferSize() {
+        return receiveBufferSize;
+    }
+
+    public void setReceiveBufferSize(long receiveBufferSize) {
+        this.receiveBufferSize = receiveBufferSize;
+    }
+
+    public Integer getReceiveBufferSizePredictor() {
+        return receiveBufferSizePredictor;
+    }
+
+    public void setReceiveBufferSizePredictor(Integer receiveBufferSizePredictor) {
+        this.receiveBufferSizePredictor = receiveBufferSizePredictor;
+    }
+
+    public Integer getWorkerCount() {
+        return workerCount;
+    }
+
+    public void setWorkerCount(Integer workerCount) {
+        this.workerCount = workerCount;
+    }
+
+    public Integer getBossCount() {
+        return bossCount;
+    }
+
+    public void setBossCount(Integer bossCount) {
+        this.bossCount = bossCount;
+    }
+
+    public Boolean getKeepAlive() {
+        return keepAlive;
+    }
+
+    public void setKeepAlive(Boolean keepAlive) {
+        this.keepAlive = keepAlive;
+    }
+
+    public Boolean getTcpNoDelay() {
+        return tcpNoDelay;
+    }
+
+    public void setTcpNoDelay(Boolean tcpNoDelay) {
+        this.tcpNoDelay = tcpNoDelay;
+    }
+
+    public Boolean getReuseAddress() {
+        return reuseAddress;
+    }
+
+    public void setReuseAddress(Boolean reuseAddress) {
+        this.reuseAddress = reuseAddress;
+    }
+
+    public long getConnectTimeout() {
+        return connectTimeout;
+    }
+
+    public void setConnectTimeout(long connectTimeout) {
+        this.connectTimeout = connectTimeout;
+    }
+
+    public Integer getBacklog() {
+        return backlog;
+    }
+
+    public void setBacklog(Integer backlog) {
+        this.backlog = backlog;
+    }
+
+    public Boolean getSsl() {
+        return ssl;
+    }
+
+    public void setSsl(Boolean ssl) {
+        this.ssl = ssl;
+    }
+
+    public Boolean getSslClientCertHeaders() {
+        return sslClientCertHeaders;
+    }
+
+    public void setSslClientCertHeaders(Boolean sslClientCertHeaders) {
+        this.sslClientCertHeaders = sslClientCertHeaders;
+    }
+
+    public SslHandler getSslHandler() {
+        return sslHandler;
+    }
+
+    public void setSslHandler(SslHandler sslHandler) {
+        this.sslHandler = sslHandler;
+    }
+
+    public SSLContextParameters getSslContextParameters() {
+        return sslContextParameters;
+    }
+
+    public void setSslContextParameters(
+            SSLContextParameters sslContextParameters) {
+        this.sslContextParameters = sslContextParameters;
+    }
+
+    public Boolean getNeedClientAuth() {
+        return needClientAuth;
+    }
+
+    public void setNeedClientAuth(Boolean needClientAuth) {
+        this.needClientAuth = needClientAuth;
+    }
+
+    public String getKeyStoreResource() {
+        return keyStoreResource;
+    }
+
+    public void setKeyStoreResource(String keyStoreResource) {
+        this.keyStoreResource = keyStoreResource;
+    }
+
+    public String getTrustStoreResource() {
+        return trustStoreResource;
+    }
+
+    public void setTrustStoreResource(String trustStoreResource) {
+        this.trustStoreResource = trustStoreResource;
+    }
+
+    public String getKeyStoreFormat() {
+        return keyStoreFormat;
+    }
+
+    public void setKeyStoreFormat(String keyStoreFormat) {
+        this.keyStoreFormat = keyStoreFormat;
+    }
+
+    public String getSecurityProvider() {
+        return securityProvider;
+    }
+
+    public void setSecurityProvider(String securityProvider) {
+        this.securityProvider = securityProvider;
+    }
+
+    public String getPassphrase() {
+        return passphrase;
+    }
+
+    public void setPassphrase(String passphrase) {
+        this.passphrase = passphrase;
+    }
+
+    public ServerPipelineFactory getServerPipelineFactory() {
+        return serverPipelineFactory;
+    }
+
+    public void setServerPipelineFactory(
+            ServerPipelineFactory serverPipelineFactory) {
+        this.serverPipelineFactory = serverPipelineFactory;
+    }
+
+    public long getRequestTimeout() {
+        return requestTimeout;
+    }
+
+    public void setRequestTimeout(long requestTimeout) {
+        this.requestTimeout = requestTimeout;
+    }
+
+    public NettyServerBootstrapFactory getNettyServerBootstrapFactory() {
+        return nettyServerBootstrapFactory;
+    }
+
+    public void setNettyServerBootstrapFactory(
+            NettyServerBootstrapFactory nettyServerBootstrapFactory) {
+        this.nettyServerBootstrapFactory = nettyServerBootstrapFactory;
+    }
+
+    public Boolean getSync() {
+        return sync;
+    }
+
+    public void setSync(Boolean sync) {
+        this.sync = sync;
+    }
+
+    public Boolean getTextline() {
+        return textline;
+    }
+
+    public void setTextline(Boolean textline) {
+        this.textline = textline;
+    }
+
+    public Map<String, Object> getOptions() {
+        return options;
+    }
+
+    public void setOptions(Map<String, Object> options) {
+        this.options = options;
+    }
+
+    public Integer getDecoderMaxLineLength() {
+        return decoderMaxLineLength;
+    }
+
+    public void setDecoderMaxLineLength(Integer decoderMaxLineLength) {
+        this.decoderMaxLineLength = decoderMaxLineLength;
+    }
+
+    public BossPool getBossPool() {
+        return bossPool;
+    }
+
+    public void setBossPool(BossPool bossPool) {
+        this.bossPool = bossPool;
+    }
+
+    public TextLineDelimiter getDelimiter() {
+        return delimiter;
+    }
+
+    public void setDelimiter(TextLineDelimiter delimiter) {
+        this.delimiter = delimiter;
+    }
+
+    public Boolean getAutoAppendDelimiter() {
+        return autoAppendDelimiter;
+    }
+
+    public void setAutoAppendDelimiter(Boolean autoAppendDelimiter) {
+        this.autoAppendDelimiter = autoAppendDelimiter;
+    }
+
+    public WorkerPool getWorkerPool() {
+        return workerPool;
+    }
+
+    public void setWorkerPool(WorkerPool workerPool) {
+        this.workerPool = workerPool;
+    }
+
+    public ChannelGroup getChannelGroup() {
+        return channelGroup;
+    }
+
+    public void setChannelGroup(ChannelGroup channelGroup) {
+        this.channelGroup = channelGroup;
+    }
+
+    public String getEncoding() {
+        return encoding;
+    }
+
+    public void setEncoding(String encoding) {
+        this.encoding = encoding;
+    }
+
+    public String getNetworkInterface() {
+        return networkInterface;
+    }
+
+    public void setNetworkInterface(String networkInterface) {
+        this.networkInterface = networkInterface;
+    }
+
+    public List<ChannelHandler> getDecoders() {
+        return decoders;
+    }
+
+    public void setDecoders(List<ChannelHandler> decoders) {
+        this.decoders = decoders;
+    }
+
+    public String getEnabledProtocols() {
+        return enabledProtocols;
+    }
+
+    public void setEnabledProtocols(String enabledProtocols) {
+        this.enabledProtocols = enabledProtocols;
+    }
+
+    public List<ChannelHandler> getEncoders() {
+        return encoders;
+    }
+
+    public void setEncoders(List<ChannelHandler> encoders) {
+        this.encoders = encoders;
+    }
+
+    public ChannelHandler getEncoder() {
+        return encoder;
+    }
+
+    public void setEncoder(ChannelHandler encoder) {
+        this.encoder = encoder;
+    }
+
+    public ChannelHandler getDecoder() {
+        return decoder;
+    }
+
+    public void setDecoder(ChannelHandler decoder) {
+        this.decoder = decoder;
+    }
+
+    public Boolean getDisconnect() {
+        return disconnect;
+    }
+
+    public void setDisconnect(Boolean disconnect) {
+        this.disconnect = disconnect;
+    }
+
+    public Boolean getLazyChannelCreation() {
+        return lazyChannelCreation;
+    }
+
+    public void setLazyChannelCreation(Boolean lazyChannelCreation) {
+        this.lazyChannelCreation = lazyChannelCreation;
+    }
+
+    public Boolean getTransferExchange() {
+        return transferExchange;
+    }
+
+    public void setTransferExchange(Boolean transferExchange) {
+        this.transferExchange = transferExchange;
+    }
+
+    public Boolean getDisconnectOnNoReply() {
+        return disconnectOnNoReply;
+    }
+
+    public void setDisconnectOnNoReply(Boolean disconnectOnNoReply) {
+        this.disconnectOnNoReply = disconnectOnNoReply;
+    }
+
+    public LoggingLevel getNoReplyLogLevel() {
+        return noReplyLogLevel;
+    }
+
+    public void setNoReplyLogLevel(LoggingLevel noReplyLogLevel) {
+        this.noReplyLogLevel = noReplyLogLevel;
+    }
+
+    public LoggingLevel getServerExceptionCaughtLogLevel() {
+        return serverExceptionCaughtLogLevel;
+    }
+
+    public void setServerExceptionCaughtLogLevel(
+            LoggingLevel serverExceptionCaughtLogLevel) {
+        this.serverExceptionCaughtLogLevel = serverExceptionCaughtLogLevel;
+    }
+
+    public LoggingLevel getServerClosedChannelExceptionCaughtLogLevel() {
+        return serverClosedChannelExceptionCaughtLogLevel;
+    }
+
+    public void setServerClosedChannelExceptionCaughtLogLevel(
+            LoggingLevel serverClosedChannelExceptionCaughtLogLevel) {
+        this.serverClosedChannelExceptionCaughtLogLevel = serverClosedChannelExceptionCaughtLogLevel;
+    }
+
+    public Boolean getAllowDefaultCodec() {
+        return allowDefaultCodec;
+    }
+
+    public void setAllowDefaultCodec(Boolean allowDefaultCodec) {
+        this.allowDefaultCodec = allowDefaultCodec;
+    }
+
+    public ClientPipelineFactory getClientPipelineFactory() {
+        return clientPipelineFactory;
+    }
+
+    public void setClientPipelineFactory(
+            ClientPipelineFactory clientPipelineFactory) {
+        this.clientPipelineFactory = clientPipelineFactory;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/519765f8/components/camel-netty4-http/src/main/docs/netty4-http.adoc
----------------------------------------------------------------------
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http.adoc b/components/camel-netty4-http/src/main/docs/netty4-http.adoc
index 7999e1e..74909e5 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http.adoc
@@ -78,8 +78,9 @@ related to UDP transport.
 
 
 
+
 // component options: START
-The Netty4 HTTP component supports 6 options which are listed below.
+The Netty4 HTTP component supports 72 options which are listed below.
 
 
 
@@ -91,8 +92,74 @@ The Netty4 HTTP component supports 6 options which are listed below.
 | headerFilterStrategy | HeaderFilterStrategy | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers.
 | securityConfiguration | NettyHttpSecurityConfiguration | Refers to a org.apache.camel.component.netty4.http.NettyHttpSecurityConfiguration for configuring secure web resources.
 | maximumPoolSize | int | The thread pool size for the EventExecutorGroup if its in use. The default value is 16.
-| configuration | NettyConfiguration | To use the NettyConfiguration as configuration when creating endpoints.
+| configuration | NettyConfiguration | To use the NettyConfiguration as configuration when creating endpoints. Properties of the shared configuration can also be set individually.
 | executorService | EventExecutorGroup | To use the given EventExecutorGroup
+| protocol | String | The protocol to use which can be tcp or udp.
+| host | String | The hostname. For the consumer the hostname is localhost or 0.0.0.0 For the producer the hostname is the remote host to connect to
+| port | int | The host port number
+| broadcast | boolean | Setting to choose Multicast over UDP
+| sendBufferSize | int | The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes.
+| receiveBufferSize | int | The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes.
+| receiveBufferSizePredictor | int | Configures the buffer size predictor. See details at Jetty documentation and this mail thread.
+| workerCount | int | When netty works on nio mode it uses default workerCount parameter from Netty which is cpu_core_threads2. User can use this operation to override the default workerCount from Netty
+| bossCount | int | When netty works on nio mode it uses default bossCount parameter from Netty which is 1. User can use this operation to override the default bossCount from Netty
+| keepAlive | boolean | Setting to ensure socket is not closed due to inactivity
+| tcpNoDelay | boolean | Setting to improve TCP protocol performance
+| reuseAddress | boolean | Setting to facilitate socket multiplexing
+| connectTimeout | int | Time to wait for a socket connection to be available. Value is in millis.
+| backlog | int | Allows to configure a backlog for netty consumer (server). Note the backlog is just a best effort depending on the OS. Setting this option to a value such as 200 500 or 1000 tells the TCP stack how long the accept queue can be If this option is not configured then the backlog depends on OS setting.
+| ssl | boolean | Setting to specify whether SSL encryption is applied to this endpoint
+| sslClientCertHeaders | boolean | When enabled and in SSL mode then the Netty consumer will enrich the Camel Message with headers having information about the client certificate such as subject name issuer name serial number and the valid date range.
+| sslHandler | SslHandler | Reference to a class that could be used to return an SSL Handler
+| sslContextParameters | SSLContextParameters | To configure security using SSLContextParameters
+| needClientAuth | boolean | Configures whether the server needs client authentication when using SSL.
+| keyStoreResource | String | Client side certificate keystore to be used for encryption. Is loaded by default from classpath but you can prefix with classpath: file: or http: to load the resource from different systems.
+| trustStoreResource | String | Server side certificate keystore to be used for encryption. Is loaded by default from classpath but you can prefix with classpath: file: or http: to load the resource from different systems.
+| keyStoreFormat | String | Keystore format to be used for payload encryption. Defaults to JKS if not set
+| securityProvider | String | Security provider to be used for payload encryption. Defaults to SunX509 if not set.
+| passphrase | String | Password setting to use in order to encrypt/decrypt payloads sent using SSH
+| serverInitializerFactory | ServerInitializerFactory | To use a custom ServerInitializerFactory
+| nettyServerBootstrapFactory | NettyServerBootstrapFactory | To use a custom NettyServerBootstrapFactory
+| requestTimeout | long | Allows to use a timeout for the Netty producer when calling a remote server. By default no timeout is in use. The value is in milli seconds so eg 30000 is 30 seconds. The requestTimeout is using Netty's ReadTimeoutHandler to trigger the timeout.
+| sync | boolean | Setting to set endpoint as one-way or request-response
+| options | Map | Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used.
+| textline | boolean | Only used for TCP. If no codec is specified you can use this flag to indicate a text line based codec; if not specified or the value is false then Object Serialization is assumed over TCP.
+| nativeTransport | boolean | Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html
+| decoderMaxLineLength | int | The max line length to use for the textline codec.
+| bossGroup | EventLoopGroup | Set the BossGroup which could be used for handling the new connection of the server side across the NettyEndpoint
+| delimiter | TextLineDelimiter | The delimiter to use for the textline codec. Possible values are LINE and NULL.
+| autoAppendDelimiter | boolean | Whether or not to auto append missing end delimiter when sending using the textline codec.
+| workerGroup | EventLoopGroup | To use a explicit EventLoopGroup as the boss thread pool. For example to share a thread pool with multiple consumers. By default each consumer has their own boss pool with 1 core thread.
+| channelGroup | ChannelGroup | To use a explicit ChannelGroup.
+| encoding | String | The encoding (a charset name) to use for the textline codec. If not provided Camel will use the JVM default Charset.
+| networkInterface | String | When using UDP then this option can be used to specify a network interface by its name such as eth0 to join a multicast group.
+| decoders | List | A list of decoders to be used. You can use a String which have values separated by comma and have the values be looked up in the Registry. Just remember to prefix the value with so Camel knows it should lookup.
+| enabledProtocols | String | Which protocols to enable when using SSL
+| encoders | List | A list of encoders to be used. You can use a String which have values separated by comma and have the values be looked up in the Registry. Just remember to prefix the value with so Camel knows it should lookup.
+| reconnect | boolean | Used only in clientMode in consumer the consumer will attempt to reconnect on disconnection if this is enabled
+| encoder | ChannelHandler | A custom ChannelHandler class that can be used to perform special marshalling of outbound payloads.
+| reconnectInterval | int | Used if reconnect and clientMode is enabled. The interval in milli seconds to attempt reconnection
+| decoder | ChannelHandler | A custom ChannelHandler class that can be used to perform special marshalling of inbound payloads.
+| disconnect | boolean | Whether or not to disconnect(close) from Netty Channel right after use. Can be used for both consumer and producer.
+| lazyChannelCreation | boolean | Channels can be lazily created to avoid exceptions if the remote server is not up and running when the Camel producer is started.
+| transferExchange | boolean | Only used for TCP. You can transfer the exchange over the wire instead of just the body. The following fields are transferred: In body Out body fault body In headers Out headers fault headers exchange properties exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level.
+| disconnectOnNoReply | boolean | If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back.
+| noReplyLogLevel | LoggingLevel | If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back.
+| serverExceptionCaughtLogLevel | LoggingLevel | If the server (NettyConsumer) catches an exception then its logged using this logging level.
+| serverClosedChannelExceptionCaughtLogLevel | LoggingLevel | If the server (NettyConsumer) catches an java.nio.channels.ClosedChannelException then its logged using this logging level. This is used to avoid logging the closed channel exceptions as clients can disconnect abruptly and then cause a flood of closed exceptions in the Netty server.
+| allowDefaultCodec | boolean | The netty component installs a default codec if both encoder/deocder is null and textline is false. Setting allowDefaultCodec to false prevents the netty component from installing a default codec as the first element in the filter chain.
+| clientInitializerFactory | ClientInitializerFactory | To use a custom ClientInitializerFactory
+| usingExecutorService | boolean | Whether to use ordered thread pool to ensure events are processed orderly on the same channel.
+| producerPoolMaxActive | int | Sets the cap on the number of objects that can be allocated by the pool (checked out to clients or idle awaiting checkout) at a given time. Use a negative value for no limit.
+| producerPoolMinIdle | int | Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects.
+| producerPoolMaxIdle | int | Sets the cap on the number of idle instances in the pool.
+| producerPoolMinEvictableIdle | long | Sets the minimum amount of time (value in millis) an object may sit idle in the pool before it is eligible for eviction by the idle object evictor.
+| producerPoolEnabled | boolean | Whether producer pool is enabled or not. Important: Do not turn this off as the pooling is needed for handling concurrency and reliable request/reply.
+| udpConnectionlessSending | boolean | This option supports connection less udp sending which is a real fire and forget. A connected udp send receive the PortUnreachableException if no one is listen on the receiving port.
+| clientMode | boolean | If the clientMode is true netty consumer will connect the address as a TCP client.
+| useByteBuf | boolean | If the useByteBuf is true netty producer will turn the message body into ByteBuf before sending it out.
+| udpByteArrayCodec | boolean | For UDP only. If enabled the using byte array codec instead of Java serialization protocol.
+| reuseChannel | boolean | This option allows producers to reuse the same Netty Channel for the lifecycle of processing the Exchange. This is useable if you need to call a server multiple times in a Camel route and want to use the same network connection. When using this the channel is not returned to the connection pool until the Exchange is done; or disconnected if the disconnect option is set to true. The reused Channel is stored on the Exchange as an exchange property with the key link NettyConstantsNETTY_CHANNEL which allows you to obtain the channel during routing and use it as well.
 |=======================================================================
 {% endraw %}
 // component options: END
@@ -104,6 +171,7 @@ The Netty4 HTTP component supports 6 options which are listed below.
 
 
 
+
 // endpoint options: START
 The Netty4 HTTP component supports 81 endpoint options which are listed below:
 


Mime
View raw message