Author: buildbot
Date: Sat Feb  9 13:21:59 2019
New Revision: 1040189

Log:
Production update by buildbot for camel

Added:
    websites/production/camel/content/2019/02/
    websites/production/camel/content/2019/02/09/
    websites/production/camel/content/2019/02/09/apache-camel-2215-released.html
Modified:
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/book-pattern-appendix.html
    websites/production/camel/content/message-router.html
    websites/production/camel/content/request-reply.html
    
websites/production/camel/content/running-camel-standalone-and-have-it-keep-running.html
    websites/production/camel/content/spring-security-example.html

Added: 
websites/production/camel/content/2019/02/09/apache-camel-2215-released.html
==============================================================================
--- 
websites/production/camel/content/2019/02/09/apache-camel-2215-released.html 
(added)
+++ 
websites/production/camel/content/2019/02/09/apache-camel-2215-released.html 
Sat Feb  9 13:21:59 2019
@@ -0,0 +1,150 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+<head>
+    <link href="//camel.apache.org/styles/site.css" rel="stylesheet" 
type="text/css">
+    <link href="//camel.apache.org/styles/type-settings.css" rel="stylesheet" 
type="text/css">
+    <script src="//camel.apache.org/styles/prototype.js" 
type="text/javascript"></script>
+    <script src="//camel.apache.org/styles/rico.js" 
type="text/javascript"></script>    
+    <script src="//camel.apache.org/styles/site.js" 
type="text/javascript"></script>
+
+    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
+
+    <style type="text/css">
+      .maincontent { overflow:hidden; }
+    </style>
+    <!--[if IE]>
+    <style type="text/css">
+      .maincontent { width:100%; }
+    </style>
+    <![endif]-->
+
+
+
+    <title>
+    Apache Camel: Apache Camel 2.21.5 Released
+    </title>
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+  <div class="header_l">
+    <div class="header_r">
+    </div>
+  </div>
+</div>
+<div class="content">
+  <div class="content_l">
+    <div class="content_r">
+      <div>
+          <!-- Banner -->
+<div id="banner-content"><div id="asf_logo">
+       <div id="activemq_logo" style="height:108px; background:transparent 
url(banner.data/apache-camel-7.png) no-repeat scroll left top;">
+            <a shape="rect" style="float:left; 
width:310px;display:block;text-indent:-5000px;text-decoration:none;line-height:140px;
 margin-top:20px; margin-left:18px;" href="http://camel.apache.org/";>Camel</a>
+            <a shape="rect" style="float:right; 
width:180px;display:block;text-indent:-5000px;text-decoration:none;line-height:80px;
 margin-top:45px; margin-right:10px;" href="http://www.apache.org";>Apache</a>
+       </div>
+</div></div>
+          <!-- Banner -->
+        <div class="top_red_bar">
+          <div id="site-breadcrumbs">
+                <!-- Breadcrumbs -->
+<a href="../../../index.html">Apache 
Camel</a>&nbsp;&gt;&nbsp;2019&nbsp;&gt;&nbsp;02&nbsp;&gt;&nbsp;09&nbsp;&gt;&nbsp;<a
 href="apache-camel-2215-released.html">Apache Camel 2.21.5 Released</a>
+          </div>
+          <!-- Quicklinks -->
+<div id="site-quicklinks"><p><a shape="rect" href="download.html">Download</a> 
| <a shape="rect" href="javadoc.html">JavaDoc</a> | <a shape="rect" 
href="source.html">Source</a> | <a shape="rect" class="external-link" 
href="https://github.com/apache/camel/"; rel="nofollow">GitHub</a> | <a 
shape="rect" class="external-link" href="https://gitter.im/apache/apache-camel"; 
rel="nofollow">Gitter</a> |&#160;<a shape="rect" 
href="support.html">Support</a></p></div>
+          <!-- Quicklinks -->
+        </div>
+
+        <br> Since we're on a major migration process of this website, some 
component documents here are out of sync right now. In the meantime you may 
want to look at the asciidoc in the repository:
+            https://github.com/apache/camel/blob/master/README.md
+            https://github.com/apache/camel/blob/master/components/readme.adoc 
</br>
+       <table border="0">
+       <tbody>
+        <tr>
+        <td valign="top" width="100%">
+<div class="wiki-content maincontent"><p>The Camel community announces the 
immediate availability of the new patch release Camel 2.21.5. This release 
contains 21 fixes and improvements. An overview of the changes is 
available&#160;<a shape="rect" class="external-link" 
href="http://camel.apache.org/camel-2215-release.html";>here</a>. This is the 
last planned patch release for the 2.21.x branch.</p><p>The artifacts are 
published and ready for you to&#160;<a shape="rect" class="external-link" 
href="http://camel.apache.org/camel-2215-release.html";>download</a>&#160;either 
from the Apache mirrors or from the Central Maven repository. For more details 
please take a look at the&#160;<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12344816&amp;projectId=12311211";>release
 notes</a>.</p><p>Many thanks to all who made this release possible.</p><p>On 
behalf of the Camel PMC,<br clear="none">Gregor Zurowski</p></div>
+        </td>
+        <td valign="top">
+          <div class="navigation">
+            <div class="navigation_top">
+                <!-- NavigationBar -->
+<div class="navigation_bottom" id="navigation_bottom"><h3 
id="Navigation-Overview"><a shape="rect" 
href="overview.html">Overview</a></h3><ul class="alternate"><li><a shape="rect" 
href="index.html">Home</a></li><li><a shape="rect" 
href="download.html">Download</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li><li><a shape="rect" 
href="faq.html">FAQ</a></li></ul><h3 id="Navigation-Documentation"><a 
shape="rect" href="documentation.html">Documentation</a></h3><ul 
class="alternate"><li><a shape="rect" href="user-guide.html">User 
Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a 
shape="rect" href="books.html">Books</a></li><li><a shape="rect" 
href="tutorials.html">Tutorials</a></li><li><a shape="rect" 
href="examples.html">Examples</a></li><li><a shape="rect" 
href="cookbook.html">Cookbook</a></li><li><a shape="rect" 
href="architecture.html">Architecture</a></li><li><a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise
  Integration Patterns</a></li><li><a shape="rect" 
href="dsl.html">DSL</a></li><li><a shape="rect" 
href="components.html">Components</a></li><li><a shape="rect" 
href="data-format.html">Data Format</a></li><li><a shape="rect" 
href="languages.html">Languages</a></li><li><a shape="rect" 
href="security.html">Security</a></li><li><a shape="rect" 
href="security-advisories.html">Security Advisories</a></li></ul><h3 
id="Navigation-Search">Search</h3><form 
enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" 
action="http://www.google.com/cse";>
+  <div>
+    <input type="hidden" name="cx" value="007878419884033443453:m5nhvy4hmyq">
+    <input type="hidden" name="ie" value="UTF-8">
+    <input type="text" name="q" size="21">
+    <input type="submit" name="sa" value="Search">
+  </div>
+</form>
+<script type="text/javascript" 
src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en";></script><h3
 id="Navigation-Community"><a shape="rect" 
href="community.html">Community</a></h3><ul class="alternate"><li><a 
shape="rect" href="support.html">Support</a></li><li><a shape="rect" 
href="contributing.html">Contributing</a></li><li><a shape="rect" 
href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" 
href="irc-room.html">Gitter / IRC Chat</a></li><li><a shape="rect" 
href="user-stories.html">User Stories</a></li><li><a shape="rect" 
href="news.html">News</a></li><li><a shape="rect" 
href="articles.html">Articles</a></li><li><a shape="rect" 
href="site.html">Site</a></li><li><a shape="rect" 
href="team.html">Team</a></li><li><a shape="rect" class="external-link" 
href="http://camel-extra.googlecode.com/"; rel="nofollow">Camel 
Extra</a></li></ul><h3 id="Navigation-Developers"><a shape="rect" 
href="developers.html">Developers</a></h3><ul class="alternate"><li><a s
 hape="rect" href="developers.html">Developer Guide</a></li><li><a shape="rect" 
href="source.html">Source</a></li><li><a shape="rect" class="external-link" 
href="https://github.com/apache/camel/"; rel="nofollow">Github</a></li><li><a 
shape="rect" href="building.html">Building</a></li><li><a shape="rect" 
href="javadoc.html">JavaDoc</a></li></ul><h3 
id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul 
class="alternate"><li><a shape="rect" class="external-link" 
href="http://www.apache.org/licenses/";>License</a></li><li><a shape="rect" 
class="external-link" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li><li><a
 shape="rect" class="external-link" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li><li><a 
shape="rect" class="external-link" 
href="http://www.apache.org/security/";>Security</a></li></ul><p>&#160;</p><p><a 
shape="rect" class="external-link" 
href="http://www.apache.org/events/current-event.html";><span class="confl
 uence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.apache.org/events/current-event-125x125.png"; 
data-image-src="http://www.apache.org/events/current-event-125x125.png";></span></a></p></div>
+                <!-- NavigationBar -->
+            </div>
+          </div>
+        </td>
+        </tr>
+       </tbody>
+        </table>
+
+
+        <div class="bottom_red_bar"></div>
+      </div>
+    </div>
+  </div>
+</div>
+<div class="black_box">
+<div class="footer">
+  <div class="footer_l">
+    <div class="footer_r">
+      <div>
+        <a href="$base/privacy-policy.html">Privacy Policy</a> -
+        (<a 
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=103089748";>edit
 page</a>)
+        (<a 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=103089748&amp;showComments=true&amp;showCommentArea=true#addcomment";>add
 comment</a>)
+      </div>
+    </div>
+  </div>
+</div>
+</div>
+</div>
+<div class="design_attribution">
+&copy; 2004-2015 The Apache Software Foundation.
+<br>          
+Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel 
project logo are trademarks of The Apache Software Foundation.  All other marks 
mentioned may be trademarks or registered trademarks of their respective owners.
+<br>
+<a href="http://hiramchirino.com";>Graphic Design By Hiram</a>
+</div>
+
+<!-- Camel committers that would like access to the Analytics, send a note to 
priv...@camel.apache.org -->
+<script type="text/javascript">
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-25976253-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+  })();
+
+</script>
+
+</body>
+</html>
+
+

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 Sat Feb  9 13:21:59 
2019
@@ -4407,11 +4407,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <div class="conf-macro output-block" data-hasbody="false" 
data-macro-name="toc"><style type="text/css">/*<![CDATA[*/
-div.rbtoc1548713934159 {padding: 0px;}
-div.rbtoc1548713934159 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1548713934159 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1549718406600 {padding: 0px;}
+div.rbtoc1549718406600 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1549718406600 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1548713934159">
+/*]]>*/</style><div class="toc-macro rbtoc1549718406600">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -9236,22 +9236,7 @@ from("direct:startInOut").inOut("bean:pr
 <p>The following example shows how to route a request from an input 
<strong>queue:a</strong> endpoint to either <strong>queue:b</strong>, 
<strong>queue:c</strong> or <strong>queue:d</strong> depending on the 
evaluation of various <a shape="rect" href="predicate.html">Predicate</a> 
expressions</p>
 
 <p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .choice()
-                .when(header("foo").isEqualTo("bar"))
-                    .to("direct:b")
-                .when(header("foo").isEqualTo("cheese"))
-                    .to("direct:c")
-                .otherwise()
-                    .to("direct:d");
-    }
-};
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
@@ -9408,16 +9393,7 @@ from("activemq:My.Queue").
 <p>Another option is to explicitly list the publish-subscribe relationship in 
your routing logic; this keeps the producer and consumer decoupled but lets you 
control the fine grained routing configuration using the <a shape="rect" 
href="dsl.html">DSL</a> or <a shape="rect" href="xml-configuration.html">Xml 
Configuration</a>.</p>
 
 <p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .multicast().to("direct:b", "direct:c", "direct:d");
-    }
-};
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
@@ -9556,29 +9532,7 @@ jms:MyQueue?exchangePattern=InOut
 
 <p>You can specify the exchange pattern in DSL rule or Spring 
configuration.</p>
 
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-// Send to an endpoint using InOut
-from("direct:testInOut").inOut("mock:result");
-
-// Send to an endpoint using InOut
-from("direct:testInOnly").inOnly("mock:result");
-
-// Set the exchange pattern to InOut, then send it from direct:inOnly to 
mock:result endpoint
-from("direct:testSetToInOnlyThenTo")
-    .setExchangePattern(ExchangePattern.InOnly)
-    .to("mock:result");
-from("direct:testSetToInOutThenTo")
-    .setExchangePattern(ExchangePattern.InOut)
-    .to("mock:result");
-
-// Or we can pass the pattern as a parameter to the to() method
-from("direct:testToWithInOnlyParam").to(ExchangePattern.InOnly, "mock:result");
-from("direct:testToWithInOutParam").to(ExchangePattern.InOut, "mock:result");
-
-// Set the exchange pattern to InOut, then send it on
-from("direct:testSetExchangePatternInOnly")
-    .setExchangePattern(ExchangePattern.InOnly).to("mock:result");
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
 &lt;camelContext xmlns="http://camel.apache.org/schema/spring"&gt;
@@ -10031,23 +9985,7 @@ Whereas using the <a shape="rect" href="
 
 <p>In this example we want to check that a multipart order can be filled. Each 
part of the order requires a check at a different inventory.</p>
 
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-// split up the order so individual OrderItems can be validated by the 
appropriate bean
-from("direct:start")
-    .split().body()
-    .choice() 
-        .when().method("orderItemHelper", "isWidget")
-            .to("bean:widgetInventory")
-        .otherwise()
-            .to("bean:gadgetInventory")
-    .end()
-    .to("seda:aggregate");
-
-// collect and re-assemble the validated OrderItems into an order again
-from("seda:aggregate")
-    .aggregate(new 
MyOrderAggregationStrategy()).header("orderId").completionTimeout(100).completionTimeoutCheckerInterval(10)
-        .to("mock:result");
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 
@@ -10093,88 +10031,16 @@ from("seda:aggregate")
 <h3 id="BookInOnePage-ExampleusingonlySplitter">Example using only 
Splitter</h3>
 
 <p>In this example we want to split an incoming order using the <a 
shape="rect" href="splitter.html">Splitter</a> eip, transform each order line, 
and then combine the order lines into a new order message.</p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-// this routes starts from the direct:start endpoint
-// the body is then splitted based on @ separator
-// the splitter in Camel supports InOut as well and for that we need
-// to be able to aggregate what response we need to send back, so we provide 
our
-// own strategy with the class MyOrderStrategy.
-from("direct:start")
-    .split(body().tokenize("@"), new MyOrderStrategy())
-        // each splitted message is then send to this bean where we can 
process it
-        .to("bean:MyOrderService?method=handleOrder")
-        // this is important to end the splitter route as we do not want to do 
more routing
-        // on each splitted message
-    .end()
-    // after we have splitted and handled each message we want to send a 
single combined
-    // response back to the original caller, so we let this bean build it for 
us
-    // this bean will receive the result of the aggregate strategy: 
MyOrderStrategy
-    .to("bean:MyOrderService?method=buildCombinedResponse")
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <div class="confluence-information-macro confluence-information-macro-tip 
conf-macro output-block" data-hasbody="true" data-macro-name="tip"><p 
class="title">Using XML</p><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"> </span><div 
class="confluence-information-macro-body">
 <p>If you use XML, then the &lt;split&gt; tag offers the strategyRef attribute 
to refer to your custom <code>AggregationStrategy</code></p></div></div>
 
 <p>The bean with the methods to transform the order line and process the order 
as well:</p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-public static class MyOrderService {
-
-    private static int counter;
-
-    /**
-     * We just handle the order by returning a id line for the order
-     */
-    public String handleOrder(String line) {
-        LOG.debug("HandleOrder: " + line);
-        return "(id=" + ++counter + ",item=" + line + ")";
-    }
-
-    /**
-     * We use the same bean for building the combined response to send
-     * back to the original caller
-     */
-    public String buildCombinedResponse(String line) {
-        LOG.debug("BuildCombinedResponse: " + line);
-        return "Response[" + line + "]";
-    }
-}
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p>And the <code>AggregationStrategy</code> we use with the <a shape="rect" 
href="splitter.html">Splitter</a> eip to combine the orders back again (eg 
fork/join):</p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-/**
- * This is our own order aggregation strategy where we can control
- * how each splitted message should be combined. As we do not want to
- * loos any message we copy from the new to the old to preserve the
- * order lines as long we process them
- */
-public static class MyOrderStrategy implements AggregationStrategy {
-
-    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
-        // put order together in old exchange by adding the order from new 
exchange
-
-        if (oldExchange == null) {
-            // the first time we aggregate we only have the new exchange,
-            // so we just return it
-            return newExchange;
-        }
-
-        String orders = oldExchange.getIn().getBody(String.class);
-        String newLine = newExchange.getIn().getBody(String.class);
-
-        LOG.debug("Aggregate old orders: " + orders);
-        LOG.debug("Aggregate new order: " + newLine);
-
-        // put orders together separating by semi colon
-        orders = orders + ";" + newLine;
-        // put combined order back on old to preserve it
-        oldExchange.getIn().setBody(orders);
-
-        // return old as this is the one that has all the orders gathered 
until now
-        return oldExchange;
-    }
-}
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 
 <div class="conf-macro output-block" data-hasbody="false" 
data-macro-name="include"><h4 id="BookInOnePage-UsingThisPattern.12">Using This 
Pattern</h4>
@@ -10720,19 +10586,10 @@ from("direct:resource")
 <p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p>
 
 <p>Here is a simple example using the <a shape="rect" href="dsl.html">DSL</a> 
directly</p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-from("direct:start").setBody(body().append(" World!")).to("mock:result");
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p>In this example we add our own <a shape="rect" 
href="processor.html">Processor</a></p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-from("direct:start").process(new Processor() {
-    public void process(Exchange exchange) {
-        Message in = exchange.getIn();
-        in.setBody(in.getBody(String.class) + " World!");
-    }
-}).to("mock:result");
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p>For further examples of this pattern in use you could look at one of the 
JUnit tests</p>
 
@@ -11083,17 +10940,7 @@ from("jms:MyQueue?concurrentConsumers=5"
 <p>The other approach is to use a <a shape="rect" 
href="message-filter.html">Message Filter</a> which is applied; then if the 
filter matches the message your consumer is invoked as shown in the following 
example</p>
 
 <p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .filter(header("foo").isEqualTo("bar"))
-                .process(myProcessor);
-    }
-};
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
@@ -11306,11 +11153,7 @@ from("direct:invokeMyService").to("bean:
 
 <p>In this example we essentially have a route like 
<code>from("direct:start").to("mock:result")</code> with a conditional detour 
to the <code>mock:detour</code> endpoint in the middle of the route..</p>
 
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-from("direct:start").choice()
-    .when().method("controlBean", "isDetour").to("mock:detour").end()
-    .to("mock:result");                
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 
@@ -15033,35 +14876,14 @@ but the following listed types were not
 <h3 id="BookInOnePage-MessageHeaders.11">Message Headers</h3><p>The following 
message headers can be used to affect the behavior of the component</p><div 
class="confluenceTableSmall conf-macro output-block" data-hasbody="true" 
data-macro-name="div"><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>CamelLanguageScript</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The script to execute provided 
in the header. Takes precedence over script configured on the 
endpoint.</p></td></tr></tbody></table></div></div>
 
 
-<h3 id="BookInOnePage-Examples.22">Examples</h3><p>For example you can use the 
<a shape="rect" href="simple.html">Simple</a> language to <a shape="rect" 
href="message-translator.html">Message Translator</a> a message:Error rendering 
macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'</p><pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-String script = URLEncoder.encode("Hello ${body}", "UTF-8");
-from("direct:start").to("language:simple:" + script).to("mock:result");
-</pre>In case you want to convert the message body type you can do this as 
well:Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-String script = URLEncoder.encode("${mandatoryBodyAs(String)}", "UTF-8");
-from("direct:start").to("language:simple:" + script).to("mock:result");
-</pre>You can also use the <a shape="rect" href="groovy.html">Groovy</a> 
language, such as this example where the input message will by multiplied with 
2:Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
+<h3 id="BookInOnePage-Examples.22">Examples</h3><p>For example you can use the 
<a shape="rect" href="simple.html">Simple</a> language to <a shape="rect" 
href="message-translator.html">Message Translator</a> a message:</p><div 
class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>In case you want to convert the message body type you can 
do this as well:<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>You can also use the <a shape="rect" 
href="groovy.html">Groovy</a> language, such as this example where the input 
message will by multiplied with 2:Error rendering macro 'code': Invalid value 
specified for parameter 'java.lang.NullP
 ointerException'<pre class="conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup">
 String script = URLEncoder.encode("request.body * 2", "UTF-8");
 from("direct:start").to("language:groovy:" + script).to("mock:result");
 </pre>You can also provide the script as a header as shown below. Here we use 
<a shape="rect" href="xpath.html">XPath</a> language to extract the text from 
the <code>&lt;foo&gt;</code> tag.<p> </p><div class="code panel pdl conf-macro 
output-block" data-hasbody="true" data-macro-name="code" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; 
gutter: false; theme: Default" data-theme="Default">Object out = 
producer.requestBodyAndHeader("language:xpath", "&lt;foo&gt;Hello 
World&lt;/foo&gt;", Exchange.LANGUAGE_SCRIPT, "/foo/text()");
 assertEquals("Hello World", out);
 </pre>
-</div></div><h3 id="BookInOnePage-Loadingscriptsfromresources">Loading scripts 
from resources</h3><p><strong>Available as of Camel 2.9</strong></p><p>You can 
specify a resource uri for a script to load in either the endpoint uri, or in 
the <code>Exchange.LANGUAGE_SCRIPT</code> header.<br clear="none"> The uri must 
start with one of the following schemes: file:, classpath:, or http:</p><p>For 
example to load a script from the classpath:Error rendering macro 'code': 
Invalid value specified for parameter 'java.lang.NullPointerException'</p><pre 
class="conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup">
-from("direct:start")
-    // load the script from the classpath
-    
.to("language:simple:classpath:org/apache/camel/component/language/mysimplescript.txt")
-    .to("mock:result");
-</pre>By default the script is loaded once and cached. However you can disable 
the <code>contentCache</code> option and have the script loaded on each 
evaluation.<br clear="none"> For example if the file myscript.txt is changed on 
disk, then the updated script is used:Error rendering macro 'code': Invalid 
value specified for parameter 'java.lang.NullPointerException'<pre 
class="conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup">
-from("direct:start")
-    // the script will be loaded on each message, as we disabled cache
-    .to("language:simple:file:target/script/myscript.txt?contentCache=false")
-    .to("mock:result");
-</pre>From <strong>Camel 2.11</strong> onwards you can refer to the resource 
similar to the other <a shape="rect" href="language.html">Language</a>s in 
Camel by prefixing with <code>"resource:"</code> as shown below:Error rendering 
macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-from("direct:start")
-    // load the script from the classpath
-    
.to("language:simple:resource:classpath:org/apache/camel/component/language/mysimplescript.txt")
-    .to("mock:result");
-</pre><div class="conf-macro output-block" data-hasbody="false" 
data-macro-name="include"><h3 id="BookInOnePage-SeeAlso.39">See Also</h3>
+</div></div><h3 id="BookInOnePage-Loadingscriptsfromresources">Loading scripts 
from resources</h3><p><strong>Available as of Camel 2.9</strong></p><p>You can 
specify a resource uri for a script to load in either the endpoint uri, or in 
the <code>Exchange.LANGUAGE_SCRIPT</code> header.<br clear="none"> The uri must 
start with one of the following schemes: file:, classpath:, or http:</p><p>For 
example to load a script from the classpath:</p><div class="error conf-macro 
output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>By default the script is loaded once and cached. However 
you can disable the <code>contentCache</code> option and have the script loaded 
on each evaluation.<br clear="none"> For example if the file myscript.txt is 
changed on disk, then the updated script is used:<div class="error conf-macro 
output-inline" data-hasbody
 ="true" data-macro-name="unmigrated-inline-wiki-markup"><span 
class="error">Error formatting macro: snippet: 
java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>From 
<strong>Camel 2.11</strong> onwards you can refer to the resource similar to 
the other <a shape="rect" href="language.html">Language</a>s in Camel by 
prefixing with <code>"resource:"</code> as shown below:<div class="error 
conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div><div class="conf-macro output-block" data-hasbody="false" 
data-macro-name="include"><h3 id="BookInOnePage-SeeAlso.39">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></div><p> </p><ul 
class="alternate"><li><a shape="rect" 
href="languages.html">Languages</a></li><li><a shape="rect" 
href="routing-slip.html">Routing Slip</a></li><li><a shape="rect" 
href="dynamic-router.html">Dynamic Router</a></li><li><a shape="rect" 
href="script.html">Script</a></li></ul></div> <div class="conf-macro 
output-block" data-hasbody="false" data-macro-name="include"><h2 
id="BookInOnePage-LDAPComponent">LDAP Component</h2><p>The 
<strong>ldap</strong> component allows you to perform searches in LDAP servers 
using filters as the message payload.<br clear="none"> This component uses 
standard JNDI (<code>javax.naming</code> package) to access the 
server.</p><p>Maven users will need to add the following de
 pendency to their <code>pom.xml</code> for this component:</p><div class="code 
panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; 
gutter: false; theme: Default" data-theme="Default">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;

Modified: websites/production/camel/content/book-pattern-appendix.html
==============================================================================
--- websites/production/camel/content/book-pattern-appendix.html (original)
+++ websites/production/camel/content/book-pattern-appendix.html Sat Feb  9 
13:21:59 2019
@@ -192,22 +192,7 @@ from("direct:startInOut").inOut("bean:pr
 <p>The following example shows how to route a request from an input 
<strong>queue:a</strong> endpoint to either <strong>queue:b</strong>, 
<strong>queue:c</strong> or <strong>queue:d</strong> depending on the 
evaluation of various <a shape="rect" href="predicate.html">Predicate</a> 
expressions</p>
 
 <p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .choice()
-                .when(header("foo").isEqualTo("bar"))
-                    .to("direct:b")
-                .when(header("foo").isEqualTo("cheese"))
-                    .to("direct:c")
-                .otherwise()
-                    .to("direct:d");
-    }
-};
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
@@ -364,16 +349,7 @@ from("activemq:My.Queue").
 <p>Another option is to explicitly list the publish-subscribe relationship in 
your routing logic; this keeps the producer and consumer decoupled but lets you 
control the fine grained routing configuration using the <a shape="rect" 
href="dsl.html">DSL</a> or <a shape="rect" href="xml-configuration.html">Xml 
Configuration</a>.</p>
 
 <p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .multicast().to("direct:b", "direct:c", "direct:d");
-    }
-};
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
@@ -512,29 +488,7 @@ jms:MyQueue?exchangePattern=InOut
 
 <p>You can specify the exchange pattern in DSL rule or Spring 
configuration.</p>
 
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-// Send to an endpoint using InOut
-from("direct:testInOut").inOut("mock:result");
-
-// Send to an endpoint using InOut
-from("direct:testInOnly").inOnly("mock:result");
-
-// Set the exchange pattern to InOut, then send it from direct:inOnly to 
mock:result endpoint
-from("direct:testSetToInOnlyThenTo")
-    .setExchangePattern(ExchangePattern.InOnly)
-    .to("mock:result");
-from("direct:testSetToInOutThenTo")
-    .setExchangePattern(ExchangePattern.InOut)
-    .to("mock:result");
-
-// Or we can pass the pattern as a parameter to the to() method
-from("direct:testToWithInOnlyParam").to(ExchangePattern.InOnly, "mock:result");
-from("direct:testToWithInOutParam").to(ExchangePattern.InOut, "mock:result");
-
-// Set the exchange pattern to InOut, then send it on
-from("direct:testSetExchangePatternInOnly")
-    .setExchangePattern(ExchangePattern.InOnly).to("mock:result");
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
 &lt;camelContext xmlns="http://camel.apache.org/schema/spring"&gt;
@@ -987,23 +941,7 @@ Whereas using the <a shape="rect" href="
 
 <p>In this example we want to check that a multipart order can be filled. Each 
part of the order requires a check at a different inventory.</p>
 
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-// split up the order so individual OrderItems can be validated by the 
appropriate bean
-from("direct:start")
-    .split().body()
-    .choice() 
-        .when().method("orderItemHelper", "isWidget")
-            .to("bean:widgetInventory")
-        .otherwise()
-            .to("bean:gadgetInventory")
-    .end()
-    .to("seda:aggregate");
-
-// collect and re-assemble the validated OrderItems into an order again
-from("seda:aggregate")
-    .aggregate(new 
MyOrderAggregationStrategy()).header("orderId").completionTimeout(100).completionTimeoutCheckerInterval(10)
-        .to("mock:result");
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 
@@ -1049,88 +987,16 @@ from("seda:aggregate")
 <h3 id="BookPatternAppendix-ExampleusingonlySplitter">Example using only 
Splitter</h3>
 
 <p>In this example we want to split an incoming order using the <a 
shape="rect" href="splitter.html">Splitter</a> eip, transform each order line, 
and then combine the order lines into a new order message.</p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-// this routes starts from the direct:start endpoint
-// the body is then splitted based on @ separator
-// the splitter in Camel supports InOut as well and for that we need
-// to be able to aggregate what response we need to send back, so we provide 
our
-// own strategy with the class MyOrderStrategy.
-from("direct:start")
-    .split(body().tokenize("@"), new MyOrderStrategy())
-        // each splitted message is then send to this bean where we can 
process it
-        .to("bean:MyOrderService?method=handleOrder")
-        // this is important to end the splitter route as we do not want to do 
more routing
-        // on each splitted message
-    .end()
-    // after we have splitted and handled each message we want to send a 
single combined
-    // response back to the original caller, so we let this bean build it for 
us
-    // this bean will receive the result of the aggregate strategy: 
MyOrderStrategy
-    .to("bean:MyOrderService?method=buildCombinedResponse")
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <div class="confluence-information-macro confluence-information-macro-tip 
conf-macro output-block" data-hasbody="true" data-macro-name="tip"><p 
class="title">Using XML</p><span class="aui-icon aui-icon-small 
aui-iconfont-approve confluence-information-macro-icon"> </span><div 
class="confluence-information-macro-body">
 <p>If you use XML, then the &lt;split&gt; tag offers the strategyRef attribute 
to refer to your custom <code>AggregationStrategy</code></p></div></div>
 
 <p>The bean with the methods to transform the order line and process the order 
as well:</p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-public static class MyOrderService {
-
-    private static int counter;
-
-    /**
-     * We just handle the order by returning a id line for the order
-     */
-    public String handleOrder(String line) {
-        LOG.debug("HandleOrder: " + line);
-        return "(id=" + ++counter + ",item=" + line + ")";
-    }
-
-    /**
-     * We use the same bean for building the combined response to send
-     * back to the original caller
-     */
-    public String buildCombinedResponse(String line) {
-        LOG.debug("BuildCombinedResponse: " + line);
-        return "Response[" + line + "]";
-    }
-}
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p>And the <code>AggregationStrategy</code> we use with the <a shape="rect" 
href="splitter.html">Splitter</a> eip to combine the orders back again (eg 
fork/join):</p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-/**
- * This is our own order aggregation strategy where we can control
- * how each splitted message should be combined. As we do not want to
- * loos any message we copy from the new to the old to preserve the
- * order lines as long we process them
- */
-public static class MyOrderStrategy implements AggregationStrategy {
-
-    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
-        // put order together in old exchange by adding the order from new 
exchange
-
-        if (oldExchange == null) {
-            // the first time we aggregate we only have the new exchange,
-            // so we just return it
-            return newExchange;
-        }
-
-        String orders = oldExchange.getIn().getBody(String.class);
-        String newLine = newExchange.getIn().getBody(String.class);
-
-        LOG.debug("Aggregate old orders: " + orders);
-        LOG.debug("Aggregate new order: " + newLine);
-
-        // put orders together separating by semi colon
-        orders = orders + ";" + newLine;
-        // put combined order back on old to preserve it
-        oldExchange.getIn().setBody(orders);
-
-        // return old as this is the one that has all the orders gathered 
until now
-        return oldExchange;
-    }
-}
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 
 <div class="conf-macro output-block" data-hasbody="false" 
data-macro-name="include"><h4 
id="BookPatternAppendix-UsingThisPattern.12">Using This Pattern</h4>
@@ -1676,19 +1542,10 @@ from("direct:resource")
 <p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p>
 
 <p>Here is a simple example using the <a shape="rect" href="dsl.html">DSL</a> 
directly</p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-from("direct:start").setBody(body().append(" World!")).to("mock:result");
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p>In this example we add our own <a shape="rect" 
href="processor.html">Processor</a></p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-from("direct:start").process(new Processor() {
-    public void process(Exchange exchange) {
-        Message in = exchange.getIn();
-        in.setBody(in.getBody(String.class) + " World!");
-    }
-}).to("mock:result");
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p>For further examples of this pattern in use you could look at one of the 
JUnit tests</p>
 
@@ -2039,17 +1896,7 @@ from("jms:MyQueue?concurrentConsumers=5"
 <p>The other approach is to use a <a shape="rect" 
href="message-filter.html">Message Filter</a> which is applied; then if the 
filter matches the message your consumer is invoked as shown in the following 
example</p>
 
 <p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .filter(header("foo").isEqualTo("bar"))
-                .process(myProcessor);
-    }
-};
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
@@ -2262,11 +2109,7 @@ from("direct:invokeMyService").to("bean:
 
 <p>In this example we essentially have a route like 
<code>from("direct:start").to("mock:result")</code> with a conditional detour 
to the <code>mock:detour</code> endpoint in the middle of the route..</p>
 
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-from("direct:start").choice()
-    .when().method("controlBean", "isDetour").to("mock:detour").end()
-    .to("mock:result");                
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 

Modified: websites/production/camel/content/message-router.html
==============================================================================
--- websites/production/camel/content/message-router.html (original)
+++ websites/production/camel/content/message-router.html Sat Feb  9 13:21:59 
2019
@@ -98,22 +98,7 @@
 <p>The following example shows how to route a request from an input 
<strong>queue:a</strong> endpoint to either <strong>queue:b</strong>, 
<strong>queue:c</strong> or <strong>queue:d</strong> depending on the 
evaluation of various <a shape="rect" href="predicate.html">Predicate</a> 
expressions</p>
 
 <p><strong>Using the <a shape="rect" href="fluent-builders.html">Fluent 
Builders</a></strong></p>
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        errorHandler(deadLetterChannel("mock:error"));
-
-        from("direct:a")
-            .choice()
-                .when(header("foo").isEqualTo("bar"))
-                    .to("direct:b")
-                .when(header("foo").isEqualTo("cheese"))
-                    .to("direct:c")
-                .otherwise()
-                    .to("direct:d");
-    }
-};
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <p><strong>Using the <a shape="rect" href="spring-xml-extensions.html">Spring 
XML Extensions</a></strong></p>
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">

Modified: websites/production/camel/content/request-reply.html
==============================================================================
--- websites/production/camel/content/request-reply.html (original)
+++ websites/production/camel/content/request-reply.html Sat Feb  9 13:21:59 
2019
@@ -117,29 +117,7 @@ jms:MyQueue?exchangePattern=InOut
 
 <p>You can specify the exchange pattern in DSL rule or Spring 
configuration.</p>
 
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-// Send to an endpoint using InOut
-from("direct:testInOut").inOut("mock:result");
-
-// Send to an endpoint using InOut
-from("direct:testInOnly").inOnly("mock:result");
-
-// Set the exchange pattern to InOut, then send it from direct:inOnly to 
mock:result endpoint
-from("direct:testSetToInOnlyThenTo")
-    .setExchangePattern(ExchangePattern.InOnly)
-    .to("mock:result");
-from("direct:testSetToInOutThenTo")
-    .setExchangePattern(ExchangePattern.InOut)
-    .to("mock:result");
-
-// Or we can pass the pattern as a parameter to the to() method
-from("direct:testToWithInOnlyParam").to(ExchangePattern.InOnly, "mock:result");
-from("direct:testToWithInOutParam").to(ExchangePattern.InOut, "mock:result");
-
-// Set the exchange pattern to InOut, then send it on
-from("direct:testSetExchangePatternInOnly")
-    .setExchangePattern(ExchangePattern.InOnly).to("mock:result");
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
 &lt;camelContext xmlns="http://camel.apache.org/schema/spring"&gt;

Modified: 
websites/production/camel/content/running-camel-standalone-and-have-it-keep-running.html
==============================================================================
--- 
websites/production/camel/content/running-camel-standalone-and-have-it-keep-running.html
 (original)
+++ 
websites/production/camel/content/running-camel-standalone-and-have-it-keep-running.html
 Sat Feb  9 13:21:59 2019
@@ -102,65 +102,7 @@
 
 <p>The following example shows how you can create your main class, named 
<code>MainExample</code> and use the <code>Main</code> class from Camel.</p>
 
-Error rendering macro 'code': Invalid value specified for parameter 
'java.lang.NullPointerException'<pre class="conf-macro output-inline" 
data-hasbody="true" data-macro-name="unmigrated-inline-wiki-markup">
-public class MainExample {
-
-    private Main main;
-
-    public static void main(String[] args) throws Exception {
-        MainExample example = new MainExample();
-        example.boot();
-    }
-
-    public void boot() throws Exception {
-        // create a Main instance
-        main = new Main();
-        // bind MyBean into the registry
-        main.bind("foo", new MyBean());
-        // add routes
-        main.addRouteBuilder(new MyRouteBuilder());
-        // add event listener
-        main.addMainListener(new Events());
-        // set the properties from a file
-        main.setPropertyPlaceholderLocations("example.properties");
-        // run until you terminate the JVM
-        System.out.println("Starting Camel. Use ctrl + c to terminate the 
JVM.\n");
-        main.run();
-    }
-
-    private static class MyRouteBuilder extends RouteBuilder {
-        @Override
-        public void configure() throws Exception {
-            from("timer:foo?delay={{millisecs}}")
-                .process(new Processor() {
-                    public void process(Exchange exchange) throws Exception {
-                        System.out.println("Invoked timer at " + new Date());
-                    }
-                })
-                .bean("foo");
-        }
-    }
-
-    public static class MyBean {
-        public void callMe() {
-            System.out.println("MyBean.callMe method has been called");
-        }
-    }
-
-    public static class Events extends MainListenerSupport {
-
-        @Override
-        public void afterStart(MainSupport main) {
-            System.out.println("MainExample with Camel is now started!");
-        }
-
-        @Override
-        public void beforeStop(MainSupport main) {
-            System.out.println("MainExample with Camel is now being stopped!");
-        }
-    }
-}
-</pre>
+<div class="error conf-macro output-inline" data-hasbody="true" 
data-macro-name="unmigrated-inline-wiki-markup"><span class="error">Error 
formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, 
Size: 20</span> </div>
 
 <h3 
id="RunningCamelstandaloneandhaveitkeeprunning-Usingcamel-springJARexample">Using
 <code>camel-spring</code> JAR example</h3>
 

Modified: websites/production/camel/content/spring-security-example.html
==============================================================================
--- websites/production/camel/content/spring-security-example.html (original)
+++ websites/production/camel/content/spring-security-example.html Sat Feb  9 
13:21:59 2019
@@ -123,8 +123,8 @@
   &lt;/spring-security:authentication-manager&gt;
 
   &lt;spring-security:user-service id="userDetailsService"&gt;
-    &lt;spring-security:user name="jim" password="jimspassword" 
authorities="ROLE_USER, ROLE_ADMIN"/&gt;
-    &lt;spring-security:user name="bob" password="bobspassword" 
authorities="ROLE_USER"/&gt;
+    &lt;spring-security:user name="jim" password="{noop}jimspassword" 
authorities="ROLE_USER, ROLE_ADMIN"/&gt;
+    &lt;spring-security:user name="bob" password="{noop}bobspassword" 
authorities="ROLE_USER"/&gt;
   &lt;/spring-security:user-service&gt;
 
   &lt;bean id="accessDecisionManager" 
class="org.springframework.security.access.vote.AffirmativeBased"&gt;


Reply via email to