camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r927696 - in /websites/production/camel/content: book-architecture.html book-in-one-page.html cache/main.pageCache component-list.html components.html netty4.html transport.html uris.html
Date Sun, 02 Nov 2014 09:18:44 GMT
Author: buildbot
Date: Sun Nov  2 09:18:43 2014
New Revision: 927696

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-architecture.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/component-list.html
    websites/production/camel/content/components.html
    websites/production/camel/content/netty4.html
    websites/production/camel/content/transport.html
    websites/production/camel/content/uris.html

Modified: websites/production/camel/content/book-architecture.html
==============================================================================
--- websites/production/camel/content/book-architecture.html (original)
+++ websites/production/camel/content/book-architecture.html Sun Nov  2 09:18:43 2014
@@ -236,7 +236,9 @@ Camel uses a Java based <a shape="rect" 
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[disruptor:someName[?&lt;option&gt;]
 disruptor-vm:someName[?&lt;option&gt;]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Docker / camel-docker</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[docker://[operation]?[options]]]></script>
+</div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;To communicate with <a shape="rect" class="external-link" href="https://www.docker.com/" rel="nofollow">Docker</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[dropbox://[operation]?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">The&#160;</span><strong>dropbox:</strong><span style="color: rgb(0,0,0);">&#160;component allows you to treat&#160;</span><a shape="rect" class="external-link" href="https://www.dropbox.com/" rel="nofollow">Dropbox</a><span style="color: rgb(0,0,0);">&#160;remote folders as a producer or consumer of messages.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ejb.html">EJB</a> / camel-ejb</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ejb:ejbName[?options]

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Sun Nov  2 09:18:43 2014
@@ -619,7 +619,9 @@ Camel uses a Java based <a shape="rect" 
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[disruptor:someName[?&lt;option&gt;]
 disruptor-vm:someName[?&lt;option&gt;]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Docker / camel-docker</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[docker://[operation]?[options]]]></script>
+</div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;To communicate with <a shape="rect" class="external-link" href="https://www.docker.com/" rel="nofollow">Docker</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[dropbox://[operation]?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">The&#160;</span><strong>dropbox:</strong><span style="color: rgb(0,0,0);">&#160;component allows you to treat&#160;</span><a shape="rect" class="external-link" href="https://www.dropbox.com/" rel="nofollow">Dropbox</a><span style="color: rgb(0,0,0);">&#160;remote folders as a producer or consumer of messages.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ejb.html">EJB</a> / camel-ejb</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ejb:ejbName[?options]
@@ -4129,11 +4131,11 @@ While not actual tutorials you might fin
                     </div>
     </div>
 <h2 id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue to a <a shape="rect" class="external-link" href="http://www.springramework.org" rel="nofollow">Spring</a> service. The route works in a synchronous fashion returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1414797549444 {padding: 0px;}
-div.rbtoc1414797549444 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1414797549444 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1414919850303 {padding: 0px;}
+div.rbtoc1414919850303 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1414919850303 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1414797549444">
+/*]]>*/</style></p><div class="toc-macro rbtoc1414919850303">
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-JmsRemoting-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Preface">Preface</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-Distribution">Distribution</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-About">About</a></li><li><a shape="rect" href="#Tutorial-JmsRemoting-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#Tutorial-JmsRemoting-WritingtheServer">Writing the Server</a>
@@ -6319,11 +6321,11 @@ So we completed the last piece in the pi
 
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1414797549794 {padding: 0px;}
-div.rbtoc1414797549794 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1414797549794 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1414919850660 {padding: 0px;}
+div.rbtoc1414919850660 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1414919850660 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1414797549794">
+/*]]>*/</style><div class="toc-macro rbtoc1414919850660">
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-Distribution">Distribution</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-Introduction">Introduction</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#Tutorial-AXIS-Camel-Maven2">Maven 2</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-wsdl">wsdl</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#Tutorial-AXIS-Camel-RunningtheExample">Running the Example</a></li></ul>
@@ -19776,11 +19778,11 @@ template.send(&quot;direct:alias-verify&
                     </div>
     </div>
 <p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1414797553779 {padding: 0px;}
-div.rbtoc1414797553779 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1414797553779 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1414919862935 {padding: 0px;}
+div.rbtoc1414919862935 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1414919862935 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1414797553779">
+/*]]>*/</style></p><div class="toc-macro rbtoc1414919862935">
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-URIformat">URI format</a></li><li><a shape="rect" href="#CXF-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#CXF-Thedescriptionsofthedataformats">The descriptions of the dataformats</a>

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/component-list.html
==============================================================================
--- websites/production/camel/content/component-list.html (original)
+++ websites/production/camel/content/component-list.html Sun Nov  2 09:18:43 2014
@@ -196,7 +196,9 @@
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[disruptor:someName[?&lt;option&gt;]
 disruptor-vm:someName[?&lt;option&gt;]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Docker / camel-docker</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[docker://[operation]?[options]]]></script>
+</div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;To communicate with <a shape="rect" class="external-link" href="https://www.docker.com/" rel="nofollow">Docker</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[dropbox://[operation]?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">The&#160;</span><strong>dropbox:</strong><span style="color: rgb(0,0,0);">&#160;component allows you to treat&#160;</span><a shape="rect" class="external-link" href="https://www.dropbox.com/" rel="nofollow">Dropbox</a><span style="color: rgb(0,0,0);">&#160;remote folders as a producer or consumer of messages.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ejb.html">EJB</a> / camel-ejb</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ejb:ejbName[?options]

Modified: websites/production/camel/content/components.html
==============================================================================
--- websites/production/camel/content/components.html (original)
+++ websites/production/camel/content/components.html Sun Nov  2 09:18:43 2014
@@ -205,7 +205,9 @@
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[disruptor:someName[?&lt;option&gt;]
 disruptor-vm:someName[?&lt;option&gt;]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Docker / camel-docker</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[docker://[operation]?[options]]]></script>
+</div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;To communicate with <a shape="rect" class="external-link" href="https://www.docker.com/" rel="nofollow">Docker</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[dropbox://[operation]?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">The&#160;</span><strong>dropbox:</strong><span style="color: rgb(0,0,0);">&#160;component allows you to treat&#160;</span><a shape="rect" class="external-link" href="https://www.dropbox.com/" rel="nofollow">Dropbox</a><span style="color: rgb(0,0,0);">&#160;remote folders as a producer or consumer of messages.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ejb.html">EJB</a> / camel-ejb</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ejb:ejbName[?options]

Modified: websites/production/camel/content/netty4.html
==============================================================================
--- websites/production/camel/content/netty4.html (original)
+++ websites/production/camel/content/netty4.html Sun Nov  2 09:18:43 2014
@@ -86,7 +86,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Netty4-NettyComponent">Netty Component</h2><p><strong>Available as of Camel 2.14</strong></p><p>The <strong>netty4</strong> component in Camel is a socket communication component, based on the <a shape="rect" class="external-link" href="http://netty.io/" rel="nofollow">Netty</a> project version 4.<br clear="none"> Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients.<br clear="none"> Netty greatly simplifies and streamlines network programming such as TCP and UDP socket server.</p><p>This camel component supports both producer and consumer endpoints.</p><p>The Netty component has several options and allows fine-grained control of a number of TCP/UDP communication parameters (buffer sizes, keepAlives, tcpNoDelay etc) and facilitates both In-Only and In-Out communication on a Camel route.</p><p>Maven users will need to add the following dependency to th
 eir <code>pom.xml</code> for this component:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="Netty4-NettyComponent">Netty Component</h2><p><strong>Available as of Camel 2.14</strong></p><p>The <strong>netty4</strong> component in Camel is a socket communication component, based on the <a shape="rect" class="external-link" href="http://netty.io/" rel="nofollow">Netty</a> project version 4.<br clear="none"> Netty is a NIO client server framework which enables quick and easy development of netwServerInitializerFactoryork applications such as protocol servers and clients.<br clear="none"> Netty greatly simplifies and streamlines network programming such as TCP and UDP socket server.</p><p>This camel component supports both producer and consumer endpoints.</p><p>The Netty component has several options and allows fine-grained control of a number of TCP/UDP communication parameters (buffer sizes, keepAlives, tcpNoDelay etc) and facilitates both In-Only and In-Out communication on a Camel route.</p><p>Maven users will need to add the fo
 llowing dependency to their <code>pom.xml</code> for this component:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-netty4&lt;/artifactId&gt;
@@ -98,7 +98,7 @@
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[netty:tcp://localhost:99999[?options]
 netty:udp://remotehost:99999/[?options]
 ]]></script>
-</div></div><p>This component supports producer and consumer endpoints for both TCP and UDP.</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="Netty4-Options">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keepAlive</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to ensure socket is not closed due to inactivity</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>tcpNoDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p
 ><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to improve TCP protocol performance</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>backlog</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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 <code>200</code>, <code>500</code> or <code>1000</code>, tells the TCP stack how long the "accept" queue can be. If this option is not configured, then the backlog depends on OS setting.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>broadcast</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to choose Multicast over UDP</p></td></tr><tr><td colspan="1" rowspan="1"
  class="confluenceTd"><p><code>connectTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Time to wait for a socket connection to be available. Value is in millis.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>reuseAddress</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to facilitate socket multiplexing</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sync</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to set endpoint as one-way or request-response</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>synchronous</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether <a shape="rect" href="asynchronous-routing-engine.html">Asynchronous Routing Engine</a> is not in use. <code>false</code> then the <a shape="rect" href="asynchronous-routing-engine.html">Asynchronous Routing Engine</a> is used, <code>true</code> to force processing synchronous.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ssl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to specify whether SSL encryption is applied to this endpoint</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sslClientCertHeaders</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When enabled and in SSL mode, then the Netty consumer will enrich the Camel <a shape="rect" href="message.html">Mess
 age</a> with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sendBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>65536 bytes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>receiveBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>65536 bytes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>option.XXX</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p>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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>corePoolSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The number of allocated threads at component startup. Defaults to 10. <strong>Note:</strong> This option is removed from Camel 2.9.2 onwards. As we rely on Nettys default settings.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxPoolSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of threads that may be allocated to this endpoint. Defaults to 100. <strong
 >Note:</strong> This option is removed from Camel 2.9.2 onwards. As we rely on Nettys default settings.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>disconnect</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to disconnect(close) from Netty Channel right after use. Can be used for both consumer and producer.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lazyChannelCreation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>transferExchange</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</co
 de></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>disconnectOnNoReply</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>noReplyLogLevel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>WARN</code></p></td><td colspan="1" rowspan="1
 " class="confluenceTd"><p>If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. Values are: <code>FATAL, ERROR, INFO, DEBUG, OFF</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serverExceptionCaughtLogLevel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>WARN</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If the server (NettyConsumer) catches an exception then its logged using this logging level.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serverClosedChannelExceptionCaughtLogLevel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>DEBUG</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If the server (NettyConsumer) catches an <code>java.nio.channels.ClosedChannelException</code> then its logged using this logging level. This is used to avoid logging the closed c
 hannel exceptions, as clients can disconnect abruptly and then cause a flod of closed exceptions in the Netty server.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>allowDefaultCodec</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>textline</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>delimiter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>LINE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The delimiter to use for the textline codec. Possible values are <code>LINE</code> and <code>NULL</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>decoderMaxLineLength</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The max line length to use for the textline codec.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>autoAppendDelimiter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to auto append missing end delimiter when sending using the textline codec.</p></td></tr><tr><t
 d colspan="1" rowspan="1" class="confluenceTd"><p><code>encoding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The encoding (a charset name) to use for the textline codec. If not provided, Camel will use the JVM default Charset.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>workerCount</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;When netty works on nio mode, it uses default workerCount parameter from Netty, which is cpu_core_threads*2. User can use this operation to override the default workerCount from Netty</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sslContextParameters</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;
 SSL configuration using an <code>org.apache.camel.util.jsse.SSLContextParameters</code> instance. See <a shape="rect" href="#Netty4-UsingtheJSSEConfigurationUtility">Using the JSSE Configuration Utility</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>receiveBufferSizePredictor</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Configures the buffer size predictor. See details at Jetty documentation and this <a shape="rect" class="external-link" href="http://lists.jboss.org/pipermail/netty-users/2010-January/001958.html" rel="nofollow">mail thread</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>requestTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Allows to use a timeout for the Netty producer when calling a remote server. By d
 efault no timeout is in use. The value is in milli seconds, so eg <code>30000</code> is 30 seconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>needClientAuth</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;Configures whether the server needs client authentication when using SSL.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>usingExecutorService</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to use executorService to handle the message inside the camel route, the executorService can be set from NettyComponent.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maximumPoolSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>16</code></p></td><td colspan="1" rowspan="1" c
 lass="confluenceTd"><p>The core pool size for the ordered thread pool, if its in use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerPoolEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. Whether producer pool is enabled or not. <strong>Important:</strong> Do not turn this off, as the pooling is needed for handling concurrency and reliable request/reply.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerPoolMaxActive</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="conf
 luenceTd"><p><code>producerPoolMinIdle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerPoolMaxIdle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. Sets the cap on the number of "idle" instances in the pool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerPoolMinEvictableIdle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bootstrapConfiguration</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer only. Allows to configure the Netty ServerBootstrap options using a <code>org.apache.camel.component.netty4.NettyServerBootstrapConfiguration</code> instance. This can be used to reuse the same configuration for multiple consumers, to align their configuration more easily.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bossPoll</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a explicit <code>io.netty.<code>channel.EventLoopGroup</code> </code> as the boss thread pool. For example to share a thread pool with multiple consumers. By default each consumer has t
 heir own boss pool with 1 core thread.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>workerPool</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a explicit <code>io.netty.channel.EventLoopGroup</code> 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>networkInterface</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer only. When using UDP then this option can be used to specify a network interface by its name, such as <code>eth0</code> to join a multicast group.</p></td></tr></tbody></table></div></div><h3 id="Netty4-RegistrybasedOptions">Registry based Options
 </h3><p>Codec Handlers and SSL Keystores can be enlisted in the <a shape="rect" href="registry.html">Registry</a>, such as in the Spring XML file.<br clear="none"> The values that could be passed in, are the following:</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>passphrase</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>password setting to use in order to encrypt/decrypt payloads sent using SSH</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keyStoreFormat</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>keystore format to be used for payload encryption. Defaults to "JKS" if not set</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>secur
 ityProvider</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Security provider to be used for payload encryption. Defaults to "SunX509" if not set.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keyStoreFile</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>deprecated:</strong> Client side certificate keystore to be used for encryption</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trustStoreFile</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>deprecated:</strong> Server side certificate keystore to be used for encryption</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keyStoreResource</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.1:</strong> Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with <code>"classpath:"</code>, <code
 >"file:"</code>, or <code>"http:"</code> to load the resource from different systems.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trustStoreResource</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.1:</strong> Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code> to load the resource from different systems.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sslHandler</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to a class that could be used to return an SSL Handler</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>encoder</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A custom <code>ChannelHandler</code> class that can be used to perform special marshalling of outbound payloads.
  Must override <code>org.jboss.netty.channel.ChannelDownStreamHandler</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>encorders</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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 <a shape="rect" href="registry.html">Registry</a>. Just remember to prefix the value with # so Camel knows it should lookup.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>decoder</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A custom <code>ChannelHandler</code> class that can be used to perform special marshalling of inbound payloads. Must override <code>org.jboss.netty.channel.ChannelUpStreamHandler</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>decoders</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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 <a shape="rect" href="registry.html">Registry</a>. Just remember to prefix the value with # so Camel knows it should lookup.</p></td></tr></tbody></table></div></div><p><strong>Important:</strong> Read below about using non shareable encoders/decoders.</p><h4 id="Netty4-Usingnonshareableencodersordecoders">Using non shareable encoders or decoders</h4><p>If your encoders or decoders is not shareable (eg they have the @Shareable class annotation), then your encoder/decoder must implement the <code>org.apache.camel.component.netty.ChannelHandlerFactory</code> interface, and return a new instance in the <code>newChannelHandler</code> method. This is to ensure the encoder/decoder can safely be used. If this is not the case, then the Netty component will log a WARN when<br clear="none"> an endpoint is created.</p><p>The Netty component offers a <code>org.apache.camel.component.netty.C
 hannelHandlerFactories</code> factory class, that has a number of commonly used methods.</p><h3 id="Netty4-SendingMessagesto/fromaNettyendpoint">Sending Messages to/from a Netty endpoint</h3><h4 id="Netty4-NettyProducer">Netty Producer</h4><p>In Producer mode, the component provides the ability to send payloads to a socket endpoint<br clear="none"> using either TCP or UDP protocols (with optional SSL support).</p><p>The producer mode supports both one-way and request-response based operations.</p><h4 id="Netty4-NettyConsumer">Netty Consumer</h4><p>In Consumer mode, the component provides the ability to:</p><ul class="alternate"><li>listen on a specified socket using either TCP or UDP protocols (with optional SSL support),</li><li>receive requests on the socket using text/xml, binary and serialized object based payloads and</li><li>send them along on a route as message exchanges.</li></ul><p>The consumer mode supports both one-way and request-response based operations.</p><h3 id="Net
 ty4-UsageSamples">Usage Samples</h3><h4 id="Netty4-AUDPNettyendpointusingRequest-Replyandserializedobjectpayload">A UDP Netty endpoint using Request-Reply and serialized object payload</h4><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>This component supports producer and consumer endpoints for both TCP and UDP.</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="Netty4-Options">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keepAlive</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to ensure socket is not closed due to inactivity</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>tcpNoDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p
 ><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to improve TCP protocol performance</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>backlog</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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 <code>200</code>, <code>500</code> or <code>1000</code>, tells the TCP stack how long the "accept" queue can be. If this option is not configured, then the backlog depends on OS setting.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>broadcast</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to choose Multicast over UDP</p></td></tr><tr><td colspan="1" rowspan="1"
  class="confluenceTd"><p><code>connectTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Time to wait for a socket connection to be available. Value is in millis.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>reuseAddress</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to facilitate socket multiplexing</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sync</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to set endpoint as one-way or request-response</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>synchronous</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p>
 </td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether <a shape="rect" href="asynchronous-routing-engine.html">Asynchronous Routing Engine</a> is not in use. <code>false</code> then the <a shape="rect" href="asynchronous-routing-engine.html">Asynchronous Routing Engine</a> is used, <code>true</code> to force processing synchronous.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ssl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Setting to specify whether SSL encryption is applied to this endpoint</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sslClientCertHeaders</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When enabled and in SSL mode, then the Netty consumer will enrich the Camel <a shape="rect" href="message.html">Mess
 age</a> with headers having information about the client certificate such as subject name, issuer name, serial number, and the valid date range.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sendBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>65536 bytes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The TCP/UDP buffer sizes to be used during outbound communication. Size is bytes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>receiveBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>65536 bytes</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>option.XXX</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p>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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>corePoolSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The number of allocated threads at component startup. Defaults to 10. <strong>Note:</strong> This option is removed from Camel 2.9.2 onwards. As we rely on Nettys default settings.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxPoolSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of threads that may be allocated to this endpoint. Defaults to 100. <strong
 >Note:</strong> This option is removed from Camel 2.9.2 onwards. As we rely on Nettys default settings.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>disconnect</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to disconnect(close) from Netty Channel right after use. Can be used for both consumer and producer.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lazyChannelCreation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>transferExchange</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</co
 de></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>disconnectOnNoReply</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If sync is enabled then this option dictates NettyConsumer if it should disconnect where there is no reply to send back.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>noReplyLogLevel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>WARN</code></p></td><td colspan="1" rowspan="1
 " class="confluenceTd"><p>If sync is enabled this option dictates NettyConsumer which logging level to use when logging a there is no reply to send back. Values are: <code>FATAL, ERROR, INFO, DEBUG, OFF</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serverExceptionCaughtLogLevel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>WARN</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If the server (NettyConsumer) catches an exception then its logged using this logging level.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>serverClosedChannelExceptionCaughtLogLevel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>DEBUG</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If the server (NettyConsumer) catches an <code>java.nio.channels.ClosedChannelException</code> then its logged using this logging level. This is used to avoid logging the closed c
 hannel exceptions, as clients can disconnect abruptly and then cause a flod of closed exceptions in the Netty server.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>allowDefaultCodec</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>textline</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>delimiter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>LINE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The delimiter to use for the textline codec. Possible values are <code>LINE</code> and <code>NULL</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>decoderMaxLineLength</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The max line length to use for the textline codec.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>autoAppendDelimiter</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether or not to auto append missing end delimiter when sending using the textline codec.</p></td></tr><tr><t
 d colspan="1" rowspan="1" class="confluenceTd"><p><code>encoding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The encoding (a charset name) to use for the textline codec. If not provided, Camel will use the JVM default Charset.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>workerCount</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;When netty works on nio mode, it uses default workerCount parameter from Netty, which is cpu_core_threads*2. User can use this operation to override the default workerCount from Netty</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sslContextParameters</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;
 SSL configuration using an <code>org.apache.camel.util.jsse.SSLContextParameters</code> instance. See <a shape="rect" href="#Netty4-UsingtheJSSEConfigurationUtility">Using the JSSE Configuration Utility</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>receiveBufferSizePredictor</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Configures the buffer size predictor. See details at Jetty documentation and this <a shape="rect" class="external-link" href="http://lists.jboss.org/pipermail/netty-users/2010-January/001958.html" rel="nofollow">mail thread</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>requestTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Allows to use a timeout for the Netty producer when calling a remote server. By d
 efault no timeout is in use. The value is in milli seconds, so eg <code>30000</code> is 30 seconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>needClientAuth</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;Configures whether the server needs client authentication when using SSL.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>usingExecutorService</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Whether to use executorService to handle the message inside the camel route, the executorService can be set from NettyComponent.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maximumPoolSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>16</code></p></td><td colspan="1" rowspan="1" c
 lass="confluenceTd"><p>The core pool size for the ordered thread pool, if its in use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerPoolEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. Whether producer pool is enabled or not. <strong>Important:</strong> Do not turn this off, as the pooling is needed for handling concurrency and reliable request/reply.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerPoolMaxActive</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="conf
 luenceTd"><p><code>producerPoolMinIdle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. Sets the minimum number of instances allowed in the producer pool before the evictor thread (if active) spawns new objects.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerPoolMaxIdle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. Sets the cap on the number of "idle" instances in the pool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerPoolMinEvictableIdle</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Producer only. 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bootstrapConfiguration</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer only. Allows to configure the Netty ServerBootstrap options using a <code>org.apache.camel.component.netty4.NettyServerBootstrapConfiguration</code> instance. This can be used to reuse the same configuration for multiple consumers, to align their configuration more easily.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>bossPoll</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a explicit <code>io.netty.<code>channel.EventLoopGroup</code> </code> as the boss thread pool. For example to share a thread pool with multiple consumers. By default each consumer has t
 heir own boss pool with 1 core thread.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>workerPool</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To use a explicit <code>io.netty.channel.EventLoopGroup</code> 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.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>networkInterface</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Consumer only. When using UDP then this option can be used to specify a network interface by its name, such as <code>eth0</code> to join a multicast group.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>clientInitializerFactory</co
 de></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15:</strong> To use a custom client initializer factory to control the pipelines in the channel. See further below for more details.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>serverInitializerFactory</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><span><strong>Camel 2.15:</strong><span>&#160;</span>To use a custom server initializer factory to control the pipelines in the channel. See further below for more details.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>clientPipelineFactory</code></td><td colspan="1" rowspan="1" class="confluenceTd"><span><code>null</code></span></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Deprecated</strong>: Use clientInitializerFactory instead.</td></tr><tr><t
 d colspan="1" rowspan="1" class="confluenceTd"><code>serverPipelineFactory</code></td><td colspan="1" rowspan="1" class="confluenceTd"><span><code>null</code></span></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Deprecated</strong>: Use serverInitializerFactory instead.</td></tr></tbody></table></div></div><h3 id="Netty4-RegistrybasedOptions">Registry based Options</h3><p>Codec Handlers and SSL Keystores can be enlisted in the <a shape="rect" href="registry.html">Registry</a>, such as in the Spring XML file.<br clear="none"> The values that could be passed in, are the following:</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>passphrase</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>password se
 tting to use in order to encrypt/decrypt payloads sent using SSH</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keyStoreFormat</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>keystore format to be used for payload encryption. Defaults to "JKS" if not set</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>securityProvider</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Security provider to be used for payload encryption. Defaults to "SunX509" if not set.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keyStoreFile</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>deprecated:</strong> Client side certificate keystore to be used for encryption</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trustStoreFile</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>deprecated:</strong> Server side certific
 ate keystore to be used for encryption</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keyStoreResource</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.1:</strong> Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code> to load the resource from different systems.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trustStoreResource</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.1:</strong> Server side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with <code>"classpath:"</code>, <code>"file:"</code>, or <code>"http:"</code> to load the resource from different systems.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>sslHandler</code></p></
 td><td colspan="1" rowspan="1" class="confluenceTd"><p>Reference to a class that could be used to return an SSL Handler</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>encoder</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A custom <code>ChannelHandler</code> class that can be used to perform special marshalling of outbound payloads. Must override <code>org.jboss.netty.channel.ChannelDownStreamHandler</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>encorders</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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 <a shape="rect" href="registry.html">Registry</a>. Just remember to prefix the value with # so Camel knows it should lookup.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>decoder</code></p></td><td colspan="1" rowspan="1" clas
 s="confluenceTd"><p>A custom <code>ChannelHandler</code> class that can be used to perform special marshalling of inbound payloads. Must override <code>org.jboss.netty.channel.ChannelUpStreamHandler</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>decoders</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>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 <a shape="rect" href="registry.html">Registry</a>. Just remember to prefix the value with # so Camel knows it should lookup.</p></td></tr></tbody></table></div></div><p><strong>Important:</strong> Read below about using non shareable encoders/decoders.</p><h4 id="Netty4-Usingnonshareableencodersordecoders">Using non shareable encoders or decoders</h4><p>If your encoders or decoders is not shareable (eg they have the @Shareable class annotation), then your encoder/decoder must implement the <code>org.apac
 he.camel.component.netty.ChannelHandlerFactory</code> interface, and return a new instance in the <code>newChannelHandler</code> method. This is to ensure the encoder/decoder can safely be used. If this is not the case, then the Netty component will log a WARN when<br clear="none"> an endpoint is created.</p><p>The Netty component offers a <code>org.apache.camel.component.netty.ChannelHandlerFactories</code> factory class, that has a number of commonly used methods.</p><h3 id="Netty4-SendingMessagesto/fromaNettyendpoint">Sending Messages to/from a Netty endpoint</h3><h4 id="Netty4-NettyProducer">Netty Producer</h4><p>In Producer mode, the component provides the ability to send payloads to a socket endpoint<br clear="none"> using either TCP or UDP protocols (with optional SSL support).</p><p>The producer mode supports both one-way and request-response based operations.</p><h4 id="Netty4-NettyConsumer">Netty Consumer</h4><p>In Consumer mode, the component provides the ability to:</p><
 ul class="alternate"><li>listen on a specified socket using either TCP or UDP protocols (with optional SSL support),</li><li>receive requests on the socket using text/xml, binary and serialized object based payloads and</li><li>send them along on a route as message exchanges.</li></ul><p>The consumer mode supports both one-way and request-response based operations.</p><h3 id="Netty4-UsageSamples">Usage Samples</h3><h4 id="Netty4-AUDPNettyendpointusingRequest-Replyandserializedobjectpayload">A UDP Netty endpoint using Request-Reply and serialized object payload</h4><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[RouteBuilder builder = new RouteBuilder() {
   public void configure() {
     from(&quot;netty4:udp://localhost:5155?sync=true&quot;)
@@ -132,7 +132,7 @@ kmp.setKeyPassword(&quot;keyPassword&quo
 SSLContextParameters scp = new SSLContextParameters();
 scp.setKeyManagers(kmp);
 
-NettyComponent nettyComponent = getContext().getComponent(&quot;netty&quot;, NettyComponent.class);
+NettyComponent nettyComponent = getContext().getComponent(&quot;netty4&quot;, NettyComponent.class);
 nettyComponent.setSslContextParameters(scp);
 ]]></script>
 </div></div><h6 id="Netty4-SpringDSLbasedconfigurationofendpoint">Spring DSL based configuration of endpoint</h6><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -285,31 +285,29 @@ registry.bind(&quot;decoders&quot;, deco
             }
         });
 ]]></script>
-</div></div><h3 id="Netty4-Addingcustomchannelpipelinefactoriestogaincompletecontroloveracreatedpipeline">Adding custom channel pipeline factories to gain complete control over a created pipeline</h3><p><strong>Available as of Camel 2.5</strong></p><p>Custom channel pipelines provide complete control to the user over the handler/interceptor chain by inserting custom handler(s), encoder(s) &amp; decoders without having to specify them in the Netty Endpoint URL in a very simple way.</p><p>In order to add a custom pipeline, a custom channel pipeline factory must be created and registered with the context via the context registry (JNDIRegistry,or the camel-spring ApplicationContextRegistry etc).</p><p>A custom pipeline factory must be constructed as follows</p><ul><li>A Producer linked channel pipeline factory must extend the abstract class <code>ClientPipelineFactory</code>.</li><li>A Consumer linked channel pipeline factory must extend the abstract class <code>ServerPipelineFactory</c
 ode>.</li><li>The classes should override the getPipeline() method in order to insert custom handler(s), encoder(s) and decoder(s). Not overriding the getPipeline() method creates a pipeline with no handlers, encoders or decoders wired to the pipeline.</li></ul><p>The example below shows how ServerChannel Pipeline factory may be created</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Using custom pipeline factory</b></div><div class="codeContent panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public class SampleServerChannelPipelineFactory extends ServerPipelineFactory {
+</div></div><h3 id="Netty4-Addingcustomchannelpipelinefactoriestogaincompletecontroloveracreatedpipeline">Adding custom channel pipeline factories to gain complete control over a created pipeline</h3><p>Custom channel pipelines provide complete control to the user over the handler/interceptor chain by inserting custom handler(s), encoder(s) &amp; decoders without having to specify them in the Netty Endpoint URL in a very simple way.</p><p>In order to add a custom pipeline, a custom channel pipeline factory must be created and registered with the context via the context registry (JNDIRegistry,or the camel-spring ApplicationContextRegistry etc).</p><p>A custom pipeline factory must be constructed as follows</p><ul><li>A Producer linked channel pipeline factory must extend the abstract class <code>ClientPipelineFactory</code>.</li><li>A Consumer linked channel pipeline factory must extend the abstract class<span style="font-family: monospace;">&#160;<code>ServerInitializerFactory</code
 ></span>.</li><li>The classes should override the initChannel() method in order to insert custom handler(s), encoder(s) and decoder(s). Not overriding the initChannel() method creates a pipeline with no handlers, encoders or decoders wired to the pipeline.</li></ul><p>The example below shows how ServerInitializerFactory factory may be created</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Using custom pipeline factory</b></div><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[public class SampleServerInitializerFactory extends ServerInitializerFactory {
     private int maxLineSize = 1024;
 
-    public ChannelPipeline getPipeline() throws Exception {
-        ChannelPipeline channelPipeline = Channels.pipeline();
+     protected void initChannel(Channel ch) throws Exception {
+        ChannelPipeline channelPipeline = ch.pipeline();
 
         channelPipeline.addLast(&quot;encoder-SD&quot;, new StringEncoder(CharsetUtil.UTF_8));
         channelPipeline.addLast(&quot;decoder-DELIM&quot;, new DelimiterBasedFrameDecoder(maxLineSize, true, Delimiters.lineDelimiter()));
         channelPipeline.addLast(&quot;decoder-SD&quot;, new StringDecoder(CharsetUtil.UTF_8));
         // here we add the default Camel ServerChannelHandler for the consumer, to allow Camel to route the message etc.
         channelPipeline.addLast(&quot;handler&quot;, new ServerChannelHandler(consumer));
-
-        return channelPipeline;
     }
 }
 ]]></script>
 </div></div><p>The custom channel pipeline factory can then be added to the registry and instantiated/utilized on a camel route in the following way</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[Registry registry = camelContext.getRegistry();
-serverPipelineFactory = new TestServerChannelPipelineFactory();
-registry.bind(&quot;spf&quot;, serverPipelineFactory);
+ServerInitializerFactory factory = new TestServerInitializerFactory();
+registry.bind(&quot;spf&quot;, factory);
 context.addRoutes(new RouteBuilder() {
   public void configure() {
       String netty_ssl_endpoint =
-         &quot;netty4:tcp://localhost:5150?serverPipelineFactory=#spf&quot;
+         &quot;netty4:tcp://localhost:5150?serverInitializerFactory=#spf&quot;
       String return_string =
          &quot;When You Go Home, Tell Them Of Us And Say,&quot;
          + &quot;For Your Tomorrow, We Gave Our Today.&quot;;
@@ -356,7 +354,7 @@ context.addRoutes(new RouteBuilder() {
     &lt;/route&gt;
 ]]></script>
 </div></div><p>... and so forth.</p><p></p><h3 id="Netty4-SeeAlso">See Also</h3>
-<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul class="alternate"><li><a shape="rect" href="netty-http.html">Netty HTTP</a></li><li><a shape="rect" href="mina.html">MINA</a></li></ul></div>
+<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul class="alternate"><li><a shape="rect" href="netty-http.html">Netty HTTP</a></li><li><a shape="rect" href="mina.html">MINA</a></li></ul><div><span style="white-space: pre-wrap;background-color: rgb(237,245,255);"><br clear="none"></span></div></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/camel/content/transport.html
==============================================================================
--- websites/production/camel/content/transport.html (original)
+++ websites/production/camel/content/transport.html Sun Nov  2 09:18:43 2014
@@ -209,7 +209,9 @@
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[disruptor:someName[?&lt;option&gt;]
 disruptor-vm:someName[?&lt;option&gt;]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Docker / camel-docker</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[docker://[operation]?[options]]]></script>
+</div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;To communicate with <a shape="rect" class="external-link" href="https://www.docker.com/" rel="nofollow">Docker</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[dropbox://[operation]?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">The&#160;</span><strong>dropbox:</strong><span style="color: rgb(0,0,0);">&#160;component allows you to treat&#160;</span><a shape="rect" class="external-link" href="https://www.dropbox.com/" rel="nofollow">Dropbox</a><span style="color: rgb(0,0,0);">&#160;remote folders as a producer or consumer of messages.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ejb.html">EJB</a> / camel-ejb</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ejb:ejbName[?options]

Modified: websites/production/camel/content/uris.html
==============================================================================
--- websites/production/camel/content/uris.html (original)
+++ websites/production/camel/content/uris.html Sun Nov  2 09:18:43 2014
@@ -214,7 +214,9 @@
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[disruptor:someName[?&lt;option&gt;]
 disruptor-vm:someName[?&lt;option&gt;]
 ]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To provide the implementation of <a shape="rect" href="seda.html">SEDA</a> which is based on <a shape="rect" class="external-link" href="https://github.com/LMAX-Exchange/disruptor" rel="nofollow">disruptor</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Docker / camel-docker</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[docker://[operation]?[options]]]></script>
+</div></div><p><span><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;To communicate with <a shape="rect" class="external-link" href="https://www.docker.com/" rel="nofollow">Docker</a></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="disruptor.html">D</a><a shape="rect" href="dropbox.html">ropbox</a><span> / camel-dropbox</span></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[dropbox://[operation]?[options]]]></script>
 </div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">The&#160;</span><strong>dropbox:</strong><span style="color: rgb(0,0,0);">&#160;component allows you to treat&#160;</span><a shape="rect" class="external-link" href="https://www.dropbox.com/" rel="nofollow">Dropbox</a><span style="color: rgb(0,0,0);">&#160;remote folders as a producer or consumer of messages.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="ejb.html">EJB</a> / camel-ejb</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ejb:ejbName[?options]



Mime
View raw message