Author: buildbot Date: Sun Apr 8 14:21:10 2012 New Revision: 811965 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/book-component-appendix.html websites/production/camel/content/book-in-one-page.html websites/production/camel/content/cache/main.pageCache websites/production/camel/content/camel-2100-release.html websites/production/camel/content/netty.html Modified: websites/production/camel/content/book-component-appendix.html ============================================================================== --- websites/production/camel/content/book-component-appendix.html (original) +++ websites/production/camel/content/book-component-appendix.html Sun Apr 8 14:21:10 2012 @@ -11648,16 +11648,15 @@ Camel also provides a <a shape="rect" hr <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li></ul> <h2><a shape="rect" name="BookComponentAppendix-NettyComponent"></a>Netty Component</h2> - <p><b>Available as of Camel 2.3</b></p> -<p>The <b>netty</b> component in Camel is a socket communication component, based on the JBoss Netty community offering (available under an Apache 2.0 license).<br clear="none"> +<p>The <b>netty</b> 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.<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>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 their <tt>pom.xml</tt> for this component:</p> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> @@ -11948,7 +11947,6 @@ For instance, the example below will clo </div></div> <h3><a shape="rect" name="BookComponentAppendix-Addingcustomchannelpipelinefactoriestogaincompletecontroloveracreatedpipeline"></a>Adding custom channel pipeline factories to gain complete control over a created pipeline</h3> - <p><b>Available as of Camel 2.5</b></p> <p>Custom channel pipelines provide complete control to the user over the handler/interceptor chain by inserting custom handler(s), encoder(s) & decoders without having to specify them in the Netty Endpoint URL in a very simple way.</p> @@ -11956,31 +11954,46 @@ For instance, the example below will clo <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 ClientPipelineFactory.</li><li>A Consumer linked channel pipeline factory must extend the abstract class ServerPipelineFactory.</li><li>The classes can optionally 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> +<ul><li>A Producer linked channel pipeline factory must extend the abstract class <tt>ClientPipelineFactory</tt>.</li><li>A Consumer linked channel pipeline factory must extend the abstract class <tt>ServerPipelineFactory</tt>.</li><li><b>Camel 2.9.1 or older:</b> 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><li><b>Camel 2.9.2 or newer:</b> The classes must implement the getPipeline(NettyProducer) / getPipeline(NettyConsumer) method in order to insert custom handler(s), encoder(s) and decoder(s).</li></ul> <p>The example below shows how ServerChannel Pipeline factory may be created</p> -<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> +<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Camel 2.9.1 or older</b></div><div class="codeContent panelContent"> <pre class="code-java"> <span class="code-keyword">public</span> class SampleServerChannelPipelineFactory <span class="code-keyword">extends</span> ServerPipelineFactory { <span class="code-keyword">private</span> <span class="code-object">int</span> maxLineSize = 1024; - <span class="code-keyword">private</span> <span class="code-object">boolean</span> invoked; <span class="code-keyword">public</span> ChannelPipeline getPipeline() <span class="code-keyword">throws</span> Exception { - invoked = <span class="code-keyword">true</span>; - ChannelPipeline channelPipeline = Channels.pipeline(); channelPipeline.addLast(<span class="code-quote">"encoder-SD"</span>, <span class="code-keyword">new</span> StringEncoder(CharsetUtil.UTF_8)); channelPipeline.addLast(<span class="code-quote">"decoder-DELIM"</span>, <span class="code-keyword">new</span> DelimiterBasedFrameDecoder(maxLineSize, <span class="code-keyword">true</span>, Delimiters.lineDelimiter())); channelPipeline.addLast(<span class="code-quote">"decoder-SD"</span>, <span class="code-keyword">new</span> StringDecoder(CharsetUtil.UTF_8)); - channelPipeline.addLast(<span class="code-quote">"handler"</span>, <span class="code-keyword">new</span> ServerChannelHandler(consumer)); + <span class="code-comment">// here we add the <span class="code-keyword">default</span> Camel ServerChannelHandler <span class="code-keyword">for</span> the consumer, to allow Camel to route the message etc. +</span> channelPipeline.addLast(<span class="code-quote">"handler"</span>, <span class="code-keyword">new</span> ServerChannelHandler(consumer)); <span class="code-keyword">return</span> channelPipeline; } +} +</pre> +</div></div> + +<p>And from Camel 2.9.2 onwards you do</p> +<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Camel 2.9.2 or newer</b></div><div class="codeContent panelContent"> +<pre class="code-java"> +<span class="code-keyword">public</span> class SampleServerChannelPipelineFactory <span class="code-keyword">extends</span> ServerPipelineFactory { + <span class="code-keyword">private</span> <span class="code-object">int</span> maxLineSize = 1024; - <span class="code-keyword">public</span> <span class="code-object">boolean</span> isfactoryInvoked() { - <span class="code-keyword">return</span> invoked; + <span class="code-keyword">public</span> ChannelPipeline getPipeline(NettyConsumer consumer) <span class="code-keyword">throws</span> Exception { + ChannelPipeline channelPipeline = Channels.pipeline(); + + channelPipeline.addLast(<span class="code-quote">"encoder-SD"</span>, <span class="code-keyword">new</span> StringEncoder(CharsetUtil.UTF_8)); + channelPipeline.addLast(<span class="code-quote">"decoder-DELIM"</span>, <span class="code-keyword">new</span> DelimiterBasedFrameDecoder(maxLineSize, <span class="code-keyword">true</span>, Delimiters.lineDelimiter())); + channelPipeline.addLast(<span class="code-quote">"decoder-SD"</span>, <span class="code-keyword">new</span> StringDecoder(CharsetUtil.UTF_8)); + <span class="code-comment">// here we add the <span class="code-keyword">default</span> Camel ServerChannelHandler <span class="code-keyword">for</span> the consumer, to allow Camel to route the message etc. +</span> channelPipeline.addLast(<span class="code-quote">"handler"</span>, <span class="code-keyword">new</span> ServerChannelHandler(consumer)); + + <span class="code-keyword">return</span> channelPipeline; } } </pre> 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 Apr 8 14:21:10 2012 @@ -31814,16 +31814,15 @@ Camel also provides a <a shape="rect" hr <ul><li><a shape="rect" href="configuring-camel.html" title="Configuring Camel">Configuring Camel</a></li><li><a shape="rect" href="component.html" title="Component">Component</a></li><li><a shape="rect" href="endpoint.html" title="Endpoint">Endpoint</a></li><li><a shape="rect" href="getting-started.html" title="Getting Started">Getting Started</a></li></ul> <h2><a shape="rect" name="BookInOnePage-NettyComponent"></a>Netty Component</h2> - <p><b>Available as of Camel 2.3</b></p> -<p>The <b>netty</b> component in Camel is a socket communication component, based on the JBoss Netty community offering (available under an Apache 2.0 license).<br clear="none"> +<p>The <b>netty</b> 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.<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>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 their <tt>pom.xml</tt> for this component:</p> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> @@ -32114,7 +32113,6 @@ For instance, the example below will clo </div></div> <h3><a shape="rect" name="BookInOnePage-Addingcustomchannelpipelinefactoriestogaincompletecontroloveracreatedpipeline"></a>Adding custom channel pipeline factories to gain complete control over a created pipeline</h3> - <p><b>Available as of Camel 2.5</b></p> <p>Custom channel pipelines provide complete control to the user over the handler/interceptor chain by inserting custom handler(s), encoder(s) & decoders without having to specify them in the Netty Endpoint URL in a very simple way.</p> @@ -32122,31 +32120,46 @@ For instance, the example below will clo <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 ClientPipelineFactory.</li><li>A Consumer linked channel pipeline factory must extend the abstract class ServerPipelineFactory.</li><li>The classes can optionally 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> +<ul><li>A Producer linked channel pipeline factory must extend the abstract class <tt>ClientPipelineFactory</tt>.</li><li>A Consumer linked channel pipeline factory must extend the abstract class <tt>ServerPipelineFactory</tt>.</li><li><b>Camel 2.9.1 or older:</b> 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><li><b>Camel 2.9.2 or newer:</b> The classes must implement the getPipeline(NettyProducer) / getPipeline(NettyConsumer) method in order to insert custom handler(s), encoder(s) and decoder(s).</li></ul> <p>The example below shows how ServerChannel Pipeline factory may be created</p> -<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> +<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Camel 2.9.1 or older</b></div><div class="codeContent panelContent"> <pre class="code-java"> <span class="code-keyword">public</span> class SampleServerChannelPipelineFactory <span class="code-keyword">extends</span> ServerPipelineFactory { <span class="code-keyword">private</span> <span class="code-object">int</span> maxLineSize = 1024; - <span class="code-keyword">private</span> <span class="code-object">boolean</span> invoked; <span class="code-keyword">public</span> ChannelPipeline getPipeline() <span class="code-keyword">throws</span> Exception { - invoked = <span class="code-keyword">true</span>; - ChannelPipeline channelPipeline = Channels.pipeline(); channelPipeline.addLast(<span class="code-quote">"encoder-SD"</span>, <span class="code-keyword">new</span> StringEncoder(CharsetUtil.UTF_8)); channelPipeline.addLast(<span class="code-quote">"decoder-DELIM"</span>, <span class="code-keyword">new</span> DelimiterBasedFrameDecoder(maxLineSize, <span class="code-keyword">true</span>, Delimiters.lineDelimiter())); channelPipeline.addLast(<span class="code-quote">"decoder-SD"</span>, <span class="code-keyword">new</span> StringDecoder(CharsetUtil.UTF_8)); - channelPipeline.addLast(<span class="code-quote">"handler"</span>, <span class="code-keyword">new</span> ServerChannelHandler(consumer)); + <span class="code-comment">// here we add the <span class="code-keyword">default</span> Camel ServerChannelHandler <span class="code-keyword">for</span> the consumer, to allow Camel to route the message etc. +</span> channelPipeline.addLast(<span class="code-quote">"handler"</span>, <span class="code-keyword">new</span> ServerChannelHandler(consumer)); <span class="code-keyword">return</span> channelPipeline; } +} +</pre> +</div></div> + +<p>And from Camel 2.9.2 onwards you do</p> +<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Camel 2.9.2 or newer</b></div><div class="codeContent panelContent"> +<pre class="code-java"> +<span class="code-keyword">public</span> class SampleServerChannelPipelineFactory <span class="code-keyword">extends</span> ServerPipelineFactory { + <span class="code-keyword">private</span> <span class="code-object">int</span> maxLineSize = 1024; - <span class="code-keyword">public</span> <span class="code-object">boolean</span> isfactoryInvoked() { - <span class="code-keyword">return</span> invoked; + <span class="code-keyword">public</span> ChannelPipeline getPipeline(NettyConsumer consumer) <span class="code-keyword">throws</span> Exception { + ChannelPipeline channelPipeline = Channels.pipeline(); + + channelPipeline.addLast(<span class="code-quote">"encoder-SD"</span>, <span class="code-keyword">new</span> StringEncoder(CharsetUtil.UTF_8)); + channelPipeline.addLast(<span class="code-quote">"decoder-DELIM"</span>, <span class="code-keyword">new</span> DelimiterBasedFrameDecoder(maxLineSize, <span class="code-keyword">true</span>, Delimiters.lineDelimiter())); + channelPipeline.addLast(<span class="code-quote">"decoder-SD"</span>, <span class="code-keyword">new</span> StringDecoder(CharsetUtil.UTF_8)); + <span class="code-comment">// here we add the <span class="code-keyword">default</span> Camel ServerChannelHandler <span class="code-keyword">for</span> the consumer, to allow Camel to route the message etc. +</span> channelPipeline.addLast(<span class="code-quote">"handler"</span>, <span class="code-keyword">new</span> ServerChannelHandler(consumer)); + + <span class="code-keyword">return</span> channelPipeline; } } </pre> Modified: websites/production/camel/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/camel/content/camel-2100-release.html ============================================================================== --- websites/production/camel/content/camel-2100-release.html (original) +++ websites/production/camel/content/camel-2100-release.html Sun Apr 8 14:21:10 2012 @@ -124,7 +124,7 @@ <h2><a shape="rect" name="Camel2.10.0Release-Internal%2FNonAPIrefactoringsthatmayaffectusers"></a>Internal/Non API refactorings that may affect users</h2> -<ul><li>Removed method <tt>setManagementName</tt> from <tt>CamelContext</tt> as it should not be used by Camel end users</li><li>Added method <tt>isTransactedRedelivered</tt> to <a shape="rect" href="exchange.html" title="Exchange">Exchange</a></li><li>Added method <tt>isDirectory</tt> to <tt>GenericFile</tt></li><li>Removed not needed parameters in the constructor for the <tt>ClientPipelineFactory</tt> in <a shape="rect" href="netty.html" title="Netty">Netty</a></li></ul> +<ul><li>Removed method <tt>setManagementName</tt> from <tt>CamelContext</tt> as it should not be used by Camel end users</li><li>Added method <tt>isTransactedRedelivered</tt> to <a shape="rect" href="exchange.html" title="Exchange">Exchange</a></li><li>Added method <tt>isDirectory</tt> to <tt>GenericFile</tt></li><li>API changed in the <tt>ClientPipelineFactory</tt> and <tt>ServerPipelineFactory</tt> abstract classes in <a shape="rect" href="netty.html" title="Netty">Netty</a></li></ul> <h2><a shape="rect" name="Camel2.10.0Release-KnownIssues"></a>Known Issues</h2> Modified: websites/production/camel/content/netty.html ============================================================================== --- websites/production/camel/content/netty.html (original) +++ websites/production/camel/content/netty.html Sun Apr 8 14:21:10 2012 @@ -76,16 +76,15 @@ <tr> <td valign="top" width="100%"> <div class="wiki-content maincontent"><h2><a shape="rect" name="Netty-NettyComponent"></a>Netty Component</h2> - <p><b>Available as of Camel 2.3</b></p> -<p>The <b>netty</b> component in Camel is a socket communication component, based on the JBoss Netty community offering (available under an Apache 2.0 license).<br clear="none"> +<p>The <b>netty</b> 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.<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>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 their <tt>pom.xml</tt> for this component:</p> <div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> @@ -376,7 +375,6 @@ For instance, the example below will clo </div></div> <h3><a shape="rect" name="Netty-Addingcustomchannelpipelinefactoriestogaincompletecontroloveracreatedpipeline"></a>Adding custom channel pipeline factories to gain complete control over a created pipeline</h3> - <p><b>Available as of Camel 2.5</b></p> <p>Custom channel pipelines provide complete control to the user over the handler/interceptor chain by inserting custom handler(s), encoder(s) & decoders without having to specify them in the Netty Endpoint URL in a very simple way.</p> @@ -384,31 +382,46 @@ For instance, the example below will clo <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 ClientPipelineFactory.</li><li>A Consumer linked channel pipeline factory must extend the abstract class ServerPipelineFactory.</li><li>The classes can optionally 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> +<ul><li>A Producer linked channel pipeline factory must extend the abstract class <tt>ClientPipelineFactory</tt>.</li><li>A Consumer linked channel pipeline factory must extend the abstract class <tt>ServerPipelineFactory</tt>.</li><li><b>Camel 2.9.1 or older:</b> 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><li><b>Camel 2.9.2 or newer:</b> The classes must implement the getPipeline(NettyProducer) / getPipeline(NettyConsumer) method in order to insert custom handler(s), encoder(s) and decoder(s).</li></ul> <p>The example below shows how ServerChannel Pipeline factory may be created</p> -<div class="code panel" style="border-width: 1px;"><div class="codeContent panelContent"> +<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Camel 2.9.1 or older</b></div><div class="codeContent panelContent"> <pre class="code-java"> <span class="code-keyword">public</span> class SampleServerChannelPipelineFactory <span class="code-keyword">extends</span> ServerPipelineFactory { <span class="code-keyword">private</span> <span class="code-object">int</span> maxLineSize = 1024; - <span class="code-keyword">private</span> <span class="code-object">boolean</span> invoked; <span class="code-keyword">public</span> ChannelPipeline getPipeline() <span class="code-keyword">throws</span> Exception { - invoked = <span class="code-keyword">true</span>; - ChannelPipeline channelPipeline = Channels.pipeline(); channelPipeline.addLast(<span class="code-quote">"encoder-SD"</span>, <span class="code-keyword">new</span> StringEncoder(CharsetUtil.UTF_8)); channelPipeline.addLast(<span class="code-quote">"decoder-DELIM"</span>, <span class="code-keyword">new</span> DelimiterBasedFrameDecoder(maxLineSize, <span class="code-keyword">true</span>, Delimiters.lineDelimiter())); channelPipeline.addLast(<span class="code-quote">"decoder-SD"</span>, <span class="code-keyword">new</span> StringDecoder(CharsetUtil.UTF_8)); - channelPipeline.addLast(<span class="code-quote">"handler"</span>, <span class="code-keyword">new</span> ServerChannelHandler(consumer)); + <span class="code-comment">// here we add the <span class="code-keyword">default</span> Camel ServerChannelHandler <span class="code-keyword">for</span> the consumer, to allow Camel to route the message etc. +</span> channelPipeline.addLast(<span class="code-quote">"handler"</span>, <span class="code-keyword">new</span> ServerChannelHandler(consumer)); <span class="code-keyword">return</span> channelPipeline; } +} +</pre> +</div></div> + +<p>And from Camel 2.9.2 onwards you do</p> +<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader" style="border-bottom-width: 1px;"><b>Camel 2.9.2 or newer</b></div><div class="codeContent panelContent"> +<pre class="code-java"> +<span class="code-keyword">public</span> class SampleServerChannelPipelineFactory <span class="code-keyword">extends</span> ServerPipelineFactory { + <span class="code-keyword">private</span> <span class="code-object">int</span> maxLineSize = 1024; - <span class="code-keyword">public</span> <span class="code-object">boolean</span> isfactoryInvoked() { - <span class="code-keyword">return</span> invoked; + <span class="code-keyword">public</span> ChannelPipeline getPipeline(NettyConsumer consumer) <span class="code-keyword">throws</span> Exception { + ChannelPipeline channelPipeline = Channels.pipeline(); + + channelPipeline.addLast(<span class="code-quote">"encoder-SD"</span>, <span class="code-keyword">new</span> StringEncoder(CharsetUtil.UTF_8)); + channelPipeline.addLast(<span class="code-quote">"decoder-DELIM"</span>, <span class="code-keyword">new</span> DelimiterBasedFrameDecoder(maxLineSize, <span class="code-keyword">true</span>, Delimiters.lineDelimiter())); + channelPipeline.addLast(<span class="code-quote">"decoder-SD"</span>, <span class="code-keyword">new</span> StringDecoder(CharsetUtil.UTF_8)); + <span class="code-comment">// here we add the <span class="code-keyword">default</span> Camel ServerChannelHandler <span class="code-keyword">for</span> the consumer, to allow Camel to route the message etc. +</span> channelPipeline.addLast(<span class="code-quote">"handler"</span>, <span class="code-keyword">new</span> ServerChannelHandler(consumer)); + + <span class="code-keyword">return</span> channelPipeline; } } </pre>