You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2019/01/03 12:25:52 UTC

svn commit: r1038458 [1/2] - in /websites/production/camel/content: ./ 2019/ 2019/01/ 2019/01/03/ cache/

Author: buildbot
Date: Thu Jan  3 12:25:51 2019
New Revision: 1038458

Log:
Production update by buildbot for camel

Added:
    websites/production/camel/content/2019/
    websites/production/camel/content/2019/01/
    websites/production/camel/content/2019/01/03/
    websites/production/camel/content/2019/01/03/apache-camel-2018-numbers.html
    websites/production/camel/content/cache/main.pageCache   (with props)
Modified:
    websites/production/camel/content/advanced-configuration-of-camelcontext-using-spring.html
    websites/production/camel/content/aggregate-example.html
    websites/production/camel/content/bam-example.html
    websites/production/camel/content/book-component-appendix.html
    websites/production/camel/content/book-dataformat-appendix.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/book-pattern-appendix.html
    websites/production/camel/content/book-tutorials.html
    websites/production/camel/content/data-format.html
    websites/production/camel/content/eventnotifier-to-log-details-about-all-sent-exchanges.html
    websites/production/camel/content/how-can-i-stop-a-route-from-a-route.html
    websites/production/camel/content/index.html
    websites/production/camel/content/news.html
    websites/production/camel/content/processorfactory.html
    websites/production/camel/content/quartz.html
    websites/production/camel/content/ref.html
    websites/production/camel/content/request-reply.html
    websites/production/camel/content/route-throttling-example.html
    websites/production/camel/content/servlet-tomcat-no-spring-example.html
    websites/production/camel/content/spark-rest.html
    websites/production/camel/content/tutorial-example-reportincident-part6.html
    websites/production/camel/content/tutorial-osgi-camel-part1.html
    websites/production/camel/content/tutorial-osgi-camel-part2.html
    websites/production/camel/content/tutorial-osgi-camel-part2a.html
    websites/production/camel/content/tutorial-osgi-camel-part2b.html
    websites/production/camel/content/tutorial-osgi-camel-part2c.html

Added: websites/production/camel/content/2019/01/03/apache-camel-2018-numbers.html
==============================================================================
--- websites/production/camel/content/2019/01/03/apache-camel-2018-numbers.html (added)
+++ websites/production/camel/content/2019/01/03/apache-camel-2018-numbers.html Thu Jan  3 12:25:51 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 2018 Numbers
+    </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;01&nbsp;&gt;&nbsp;03&nbsp;&gt;&nbsp;<a href="apache-camel-2018-numbers.html">Apache Camel 2018 Numbers</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 class="graf graf--p graf-after--figure"><strong>Summary of statistics for the Apache Camel project for the year 2018.</strong></p><p class="graf graf--p graf-after--p">Number of releases in 2018:&#160;<span class="markup--strong markup--p-strong"><strong>12</strong><br clear="none"></span>Number of posts on Camel user forum in 2018:&#160;<strong><span class="markup--strong markup--p-strong">1266</span></strong><br clear="none">Number of gitter chat users at end of 2018:&#160;<strong><span class="markup--strong markup--p-strong">428</span></strong><br clear="none">Number of commits in 2018:&#160;<strong><span class="markup--strong markup--p-strong">3600</span></strong>&#160;(git shortlog -ns&#8202;&#8212;&#8202;since 2018&#8211;01&#8211;01&#8202;&#8212;&#8202;until 2019&#8211;01&#8211;01 | cut -c1&#8211;7 | awk &#8216;{ SUM += $1} END { print SUM }&#8217;)</p><p class="graf graf--p graf-after--p">Total number of JIRA tickets created at end of 
 2018:&#160;<strong><span class="markup--strong markup--p-strong">13033<br clear="none"></span></strong>Number of JIRA tickets created in 2018:&#160;<strong style="letter-spacing: 0.0px;"><span class="markup--strong markup--p-strong">924<br clear="none"></span></strong>Number of JIRA tickets resolved in 2018:&#160;<strong style="letter-spacing: 0.0px;"><span class="markup--strong markup--p-strong">766</span></strong></p><p class="graf graf--p graf-after--p">Stackoverflow number of questions at end of 2018:&#160;<span class="markup--strong markup--p-strong"><strong>8375</strong><br clear="none"></span>Stackoverflow number of watchers at end of 2018:&#160;<strong><span class="markup--strong markup--p-strong">1.8k</span></strong></p><p class="graf graf--p graf-after--p">Number of stars on github at end of 2018:&#160;<strong><span class="markup--strong markup--p-strong">2303<br clear="none"></span></strong>Total number of commits at end of 2018:&#160;<strong style="letter-spacing: 0.0px;
 "><span class="markup--strong markup--p-strong">34431<br clear="none"></span></strong>Total number of contributors on github at end of 2018:&#160;<strong style="letter-spacing: 0.0px;"><span class="markup--strong markup--p-strong">447<br clear="none"></span></strong>Number of closed pull requests at end of 2018:&#160;<strong style="letter-spacing: 0.0px;"><span class="markup--strong markup--p-strong">2674<br clear="none"></span></strong>Number of closed pull requests in 2018:&#160;<span class="markup--strong markup--p-strong" style="letter-spacing: 0.0px;"><strong>280</strong>&#160;</span>(is:pr is:closed merged:&gt;=2018&#8211;01&#8211;01)<br clear="none">Number of committers doing commits in 2018:&#160;<strong style="letter-spacing: 0.0px;"><span class="markup--strong markup--p-strong">184</span></strong>&#160;(git shortlog&#8202;&#8212;&#8202;since 2018&#8211;01&#8211;01&#8202;&#8212;&#8202;until 2019&#8211;01&#8211;01 -ns | wc -l).</p><p class="graf graf--p graf-after--p">The Ap
 ache Software Foundation recently posted a&#160;<a shape="rect" class="external-link" href="https://blogs.apache.org/foundation/entry/apache-in-2018-by-the">summary of the most active projects in 2018</a>&#160;and Apache Camel was ranked 4th by commits.</p><p class="graf graf--p graf-after--p">You can find more statistics for example at&#160;<a shape="rect" class="external-link" href="https://github.com/apache/camel" rel="nofollow">GitHub</a>&#160;and&#160;<a shape="rect" class="external-link" href="https://www.openhub.net/p/camel" rel="nofollow">OpenHub</a>.</p><p class="graf graf--p graf-after--p graf--trailing">Happy New Year and 2019 is going to be a special year for Apache Camel, with&#160;<a shape="rect" class="external-link" href="http://camel.apache.org/2018/12/11/work-on-apache-camel-3-is-beginning.html">Camel 3 in the works</a>.</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=99844872">edit page</a>)
+   	 (<a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=99844872&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 private@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/advanced-configuration-of-camelcontext-using-spring.html
==============================================================================
--- websites/production/camel/content/advanced-configuration-of-camelcontext-using-spring.html (original)
+++ websites/production/camel/content/advanced-configuration-of-camelcontext-using-spring.html Thu Jan  3 12:25:51 2019
@@ -122,7 +122,7 @@ public class ContainerWideInterceptor im
     private static final Logger LOG = LoggerFactory.getLogger(ContainerWideInterceptor.class);
     private static int count;
 
-    public Processor wrapProcessorInInterceptors(final CamelContext context, final ProcessorDefinition&lt;?&gt; definition,
+    public Processor wrapProcessorInInterceptors(final CamelContext context, final NamedNode definition,
                                                  final Processor target, final Processor nextTarget) throws Exception {
 
         // as this is based on an unit test we are a bit lazy and just create an inlined processor

Modified: websites/production/camel/content/aggregate-example.html
==============================================================================
--- websites/production/camel/content/aggregate-example.html (original)
+++ websites/production/camel/content/aggregate-example.html Thu Jan  3 12:25:51 2019
@@ -142,15 +142,8 @@ Error rendering macro 'code': Invalid va
   &lt;!-- This is our aggregation strategy for the numbers received as input --&gt;
   &lt;bean id="myStrategy" class="org.apache.camel.example.NumberAggregationStrategy"/&gt;
 
-  &lt;!-- This is the persistent repository to store aggregated messages --&gt;
-  &lt;bean id="myRepo" class="org.apache.camel.component.hawtdb.HawtDBAggregationRepository"&gt;
-    &lt;!-- use data/hawtdb.dat as the persistent store --&gt;
-    &lt;property name="persistentFileName" value="data/hawtdb.dat"/&gt;
-    &lt;!-- the repo must have an unique name, as you can have multiple repositories in the same file --&gt;
-    &lt;property name="repositoryName" value="myCoolRepo"/&gt;
-    &lt;!-- the repo file segment size --&gt;
-    &lt;property name="bufferSize" value="602400"/&gt;
-  &lt;/bean&gt;
+  &lt;!-- This is the repository to store aggregated messages --&gt;
+  &lt;bean id="myRepo" class="org.apache.camel.processor.aggregate.MemoryAggregationRepository"/&gt;
 
   &lt;!-- This is the Camel route which asks for input and aggregates incoming numbers --&gt;
   &lt;camelContext id="camel" xmlns="http://camel.apache.org/schema/spring"&gt;

Modified: websites/production/camel/content/bam-example.html
==============================================================================
--- websites/production/camel/content/bam-example.html (original)
+++ websites/production/camel/content/bam-example.html Thu Jan  3 12:25:51 2019
@@ -89,32 +89,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="BAMExample-BusinessActivityMonitor(BAM)Example">Business Activity Monitor (BAM) Example</h2><p>The <a shape="rect" href="bam.html">BAM</a> (Business Activity Monitor) example shows how to monitor your transaction flows using Camel.</p><p>In this example we will use Camel to monitor a business process consisting of</p><ul><li>purchase orders</li><li>invoices</li></ul><p>Then we will check to see that for every purchase order created by system A, that system B will generate an invoice within the specified amount of time (2 seconds in this example). If an invoice is not generated within the allowed amount of time and error is generated and sent to an <a shape="rect" href="endpoint.html">Endpoint</a>.</p><h3 id="BAMExample-Overview">Overview</h3><p>This example lives in the <em>examples/camel-example-bam</em> directory. It will poll the following directories</p><ul><li>the child <em>src/data/purchaseOrders</em> directory for XML purchase ord
 ers</li><li>the child <em>src/data/invoices</em> directory for XML invoices</li></ul><p>The <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java">MyActivities</a> class defines the <a shape="rect" href="bam.html">BAM</a> activities; that is</p><ul><li>the input sources (the two directories above) which could be any of the supported camel <a shape="rect" href="uris.html">URIs</a></li><li>how the activities relate to each other - namely the <a shape="rect" href="correlation-identifier.html">Correlation Identifier</a> pattern</li><li>the maixmum amount of time allowed from the time a purchase order is received when if an invoice is not received an error should be raised.</li></ul><p>There is also a spring configuration file in <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/resources/META-I
 NF/spring/camel-context.xml">src/resources/META-INF/services/camel-context.xml</a> which defines the JPA <code>EntityManagerFactory</code> and tells Camel to look in the <strong>org.apache.camel.example.bam</strong> package to find its routes.</p><h3 id="BAMExample-Codewalkthrough">Code walkthrough</h3><p>So lets start with the activities definition in <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java">MyActivities</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">
-public class MyActivities extends ProcessBuilder {
-
-    public MyActivities() {
-    }
-
-    public MyActivities(EntityManagerFactory entityManagerFactory, TransactionTemplate transactionTemplate) {
-        super(entityManagerFactory, transactionTemplate);
-    }
-
-    public void configure() throws Exception {
-
-        // let's define some activities, correlating on an XPath on the message bodies
-        ActivityBuilder purchaseOrder = activity("file:src/data/purchaseOrders?noop=true")
-                .correlate(xpath("/purchaseOrder/@id").stringResult());
-
-        ActivityBuilder invoice = activity("file:src/data/invoices?noop=true&amp;consumer.initialDelay=5000")
-                .correlate(xpath("/invoice/@purchaseOrderId").stringResult());
-
-        // now let's add some BAM rules
-        invoice.starts().after(purchaseOrder.completes())
-                .expectWithin(seconds(10))
-                .errorIfOver(seconds(20)).to("log:org.apache.camel.example.bam.BamFailures?level=error");
-    }
-}
-</pre><p>The first two lines of code sets up the inputs for the <a shape="rect" href="bam.html">BAM</a> activities via the <strong>activity()</strong> method which defines</p><ul><li>the <a shape="rect" href="uris.html">URIs</a> of the inputs (which could come from any of the Camel <a shape="rect" href="components.html">Components</a></li><li>the <a shape="rect" href="correlation-identifier.html">Correlation Identifier</a> used to correlate together the purchase order and invoice messages which can be any <a shape="rect" href="expression.html">Expression</a> via any of the <a shape="rect" href="languages-supported.html">Languages Supported</a>. In this case we are using <a shape="rect" href="xpath.html">XPath</a>.</li></ul><p>Then the final line of code defines the temporal rules to use; namely that it is considered to be an error if an invoice is not received within 2 seconds of a purchase order being received. When a failure occurs in this example we just send it to the <a shape="
 rect" href="log.html">Log</a> component to log out an error level message to commons-logging / log4j. You could change this to use some of the other <a shape="rect" href="components.html">Components</a> such as <a shape="rect" href="activemq.html">ActiveMQ</a>, <a shape="rect" href="jms.html">JMS</a>, <a shape="rect" href="irc.html">IRC</a>, <a shape="rect" href="mail.html">Mail</a>, <a shape="rect" href="xmpp.html">XMPP</a> etc.</p><h3 id="BAMExample-Runningtheexample">Running the example</h3><p>To run the example we use the <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a>. For example from the source or binary distribution the following should work</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">
+<div class="wiki-content maincontent"><h2 id="BAMExample-BusinessActivityMonitor(BAM)Example">Business Activity Monitor (BAM) Example</h2><p>The <a shape="rect" href="bam.html">BAM</a> (Business Activity Monitor) example shows how to monitor your transaction flows using Camel.</p><p>In this example we will use Camel to monitor a business process consisting of</p><ul><li>purchase orders</li><li>invoices</li></ul><p>Then we will check to see that for every purchase order created by system A, that system B will generate an invoice within the specified amount of time (2 seconds in this example). If an invoice is not generated within the allowed amount of time and error is generated and sent to an <a shape="rect" href="endpoint.html">Endpoint</a>.</p><h3 id="BAMExample-Overview">Overview</h3><p>This example lives in the <em>examples/camel-example-bam</em> directory. It will poll the following directories</p><ul><li>the child <em>src/data/purchaseOrders</em> directory for XML purchase ord
 ers</li><li>the child <em>src/data/invoices</em> directory for XML invoices</li></ul><p>The <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java">MyActivities</a> class defines the <a shape="rect" href="bam.html">BAM</a> activities; that is</p><ul><li>the input sources (the two directories above) which could be any of the supported camel <a shape="rect" href="uris.html">URIs</a></li><li>how the activities relate to each other - namely the <a shape="rect" href="correlation-identifier.html">Correlation Identifier</a> pattern</li><li>the maixmum amount of time allowed from the time a purchase order is received when if an invoice is not received an error should be raised.</li></ul><p>There is also a spring configuration file in <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/resources/META-I
 NF/spring/camel-context.xml">src/resources/META-INF/services/camel-context.xml</a> which defines the JPA <code>EntityManagerFactory</code> and tells Camel to look in the <strong>org.apache.camel.example.bam</strong> package to find its routes.</p><h3 id="BAMExample-Codewalkthrough">Code walkthrough</h3><p>So lets start with the activities definition in <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java">MyActivities</a></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><p>The first two lines of code sets up the inputs for the <a shape="rect" href="bam.html">BAM</a> activities via the <strong>activity()</strong> method which defines</p><ul><li>the <a shape="rect" href="uris.ht
 ml">URIs</a> of the inputs (which could come from any of the Camel <a shape="rect" href="components.html">Components</a></li><li>the <a shape="rect" href="correlation-identifier.html">Correlation Identifier</a> used to correlate together the purchase order and invoice messages which can be any <a shape="rect" href="expression.html">Expression</a> via any of the <a shape="rect" href="languages-supported.html">Languages Supported</a>. In this case we are using <a shape="rect" href="xpath.html">XPath</a>.</li></ul><p>Then the final line of code defines the temporal rules to use; namely that it is considered to be an error if an invoice is not received within 2 seconds of a purchase order being received. When a failure occurs in this example we just send it to the <a shape="rect" href="log.html">Log</a> component to log out an error level message to commons-logging / log4j. You could change this to use some of the other <a shape="rect" href="components.html">Components</a> such as <a sh
 ape="rect" href="activemq.html">ActiveMQ</a>, <a shape="rect" href="jms.html">JMS</a>, <a shape="rect" href="irc.html">IRC</a>, <a shape="rect" href="mail.html">Mail</a>, <a shape="rect" href="xmpp.html">XMPP</a> etc.</p><h3 id="BAMExample-Runningtheexample">Running the example</h3><p>To run the example we use the <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a>. For example from the source or binary distribution the following should work</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">cd examples/camel-example-bam
 mvn camel:run
 </pre>

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 Thu Jan  3 12:25:51 2019
@@ -4929,9 +4929,7 @@ quartz://timerName?cron=expression
 </div></div><p>The component uses either a <code>CronTrigger</code> or a <code>SimpleTrigger</code>. If no cron expression is provided, the component uses a simple trigger. If no <code>groupName</code> is provided, the quartz component uses the <code>Camel</code> group name.</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="BookComponentAppendix-Options.38">Options</h3><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>Parameter</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cron</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td 
 colspan="1" rowspan="1" class="confluenceTd"><p>Specifies a <code>cron</code> expression (not compatible with the <code>trigger.*</code> or <code>job.*</code> options).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trigger.repeatCount</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>SimpleTrigger: How many times should the timer repeat?</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trigger.repeatInterval</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>SimpleTrigger: The amount of time in milliseconds between repeated triggers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>job.name</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="conflue
 nceTd"><p>Sets the job name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>job.<em>XXX</em></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the job option with the <code><em>XXX</em></code> setter name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trigger.<em>XXX</em></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the trigger option with the <code><em>XXX</em></code> setter name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>stateful</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses a Quartz <code>StatefulJob</code> instead of the default job.</p></td></tr><tr><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p><code>fireNow</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New to Camel 2.2.0, if it is true will fire the trigger when the route is start when using SimpleTrigger.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>deleteJob</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> If set to true, then the trigger automatically delete when route stop. Else if set to false, it will remain in scheduler. When set to false, it will also mean user may reuse pre-configured trigger with camel Uri. Just ensure the names match. Notice you cannot have both deleteJob and pauseJob set to true.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pauseJob</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p
 ><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> If set to true, then the trigger automatically pauses when route stop. Else if set to false, it will remain in scheduler. When set to false, it will also mean user may reuse pre-configured trigger with camel Uri. Just ensure the names match. Notice you cannot have both deleteJob and pauseJob set to true.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>usingFixedCamelContextName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong><strong>Camel 2.15.0: </strong></strong><span><span>If it is true, <span>JobDataMap </span></span></span><span>uses the CamelContext name directly to reference the camel context, </span><span>if it is false, <span>JobDataMap </span><span>uses </span>use the CamelContext management name which could be changed during the deploy time.</s
 pan></td></tr></tbody></table></div></div>
 
 
-<p>For example, the following routing rule will fire two timer events to the <code>mock:results</code> endpoint:</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("quartz://myGroup/myTimerName?trigger.repeatInterval=2&amp;trigger.repeatCount=1").routeId("myRoute").to("mock:result");
-</pre><p>When using a <a shape="rect" class="external-link" href="http://quartz-scheduler.org/api/2.0.0/org/quartz/StatefulJob.html" rel="nofollow">StatefulJob</a>, the <a shape="rect" class="external-link" href="http://quartz-scheduler.org/api/2.0.0/org/quartz/JobDataMap.html" rel="nofollow">JobDataMap</a> is re-persisted after every execution of the job, thus preserving state for the next execution.</p><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">Running in OSGi and having multiple bundles with quartz routes</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have multiple bundles with Camel routes that start from <a shape="rect" href="quartz.html">Quartz</a> endpoints, then make sure if you assign
 <br clear="none"> an <code>id</code> to the &lt;camelContext&gt; that this id is unique, as this is required by the <code>QuartzScheduler</code> in the OSGi container. If you do not set any <code>id</code> on &lt;camelContext&gt; then<br clear="none"> a unique id is auto assigned, and there is no problem.</p></div></div><h3 id="BookComponentAppendix-Configuringquartz.propertiesfile">Configuring quartz.properties file</h3><p>By default Quartz will look for a <code>quartz.properties</code> file in the <code>org/quartz</code> directory of the classpath. If you are using WAR deployments this means just drop the quartz.properties in <code>WEB-INF/classes/org/quartz</code>.</p><p>However the Camel <a shape="rect" href="quartz.html">Quartz</a> component also allows you to configure properties:</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" cl
 ass="confluenceTh"><p>Parameter</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>properties</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Properties</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4</strong>: You can configure a <code>java.util.Properties</code> instance.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertiesFile</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4</strong>: File name 
 of the properties to load from the classpath</p></td></tr></tbody></table></div></div>
+<p>For example, the following routing rule will fire two timer events to the <code>mock:results</code> endpoint:</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><p>When using a <a shape="rect" class="external-link" href="http://quartz-scheduler.org/api/2.0.0/org/quartz/StatefulJob.html" rel="nofollow">StatefulJob</a>, the <a shape="rect" class="external-link" href="http://quartz-scheduler.org/api/2.0.0/org/quartz/JobDataMap.html" rel="nofollow">JobDataMap</a> is re-persisted after every execution of the job, thus preserving state for the next execution.</p><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">Running in OSGi and having multiple bundles with quartz routes</p><span class
 ="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have multiple bundles with Camel routes that start from <a shape="rect" href="quartz.html">Quartz</a> endpoints, then make sure if you assign<br clear="none"> an <code>id</code> to the &lt;camelContext&gt; that this id is unique, as this is required by the <code>QuartzScheduler</code> in the OSGi container. If you do not set any <code>id</code> on &lt;camelContext&gt; then<br clear="none"> a unique id is auto assigned, and there is no problem.</p></div></div><h3 id="BookComponentAppendix-Configuringquartz.propertiesfile">Configuring quartz.properties file</h3><p>By default Quartz will look for a <code>quartz.properties</code> file in the <code>org/quartz</code> directory of the classpath. If you are using WAR deployments this means just drop the quartz.properties in <code>WEB-INF/cl
 asses/org/quartz</code>.</p><p>However the Camel <a shape="rect" href="quartz.html">Quartz</a> component also allows you to configure properties:</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>Parameter</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>properties</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Properties</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4</strong>: You can configure a <code>java.util.Properties</code> instance.</p></td>
 </tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertiesFile</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4</strong>: File name of the properties to load from the classpath</p></td></tr></tbody></table></div></div>
 
 
 <p>To do this you can configure this in Spring XML as follows</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">
@@ -5426,7 +5424,7 @@ Error rendering macro 'code': Invalid va
   &lt;endpoint id="endpoint2" uri="mock:end"/&gt;
 
   &lt;route&gt;
-    &lt;from ref="endpoint1"/&gt;
+    &lt;from uri="ref:endpoint1"/&gt;
     &lt;to uri="ref:endpoint2"/&gt;
   &lt;/route&gt;
 &lt;/camelContext&gt;

Modified: websites/production/camel/content/book-dataformat-appendix.html
==============================================================================
--- websites/production/camel/content/book-dataformat-appendix.html (original)
+++ websites/production/camel/content/book-dataformat-appendix.html Thu Jan  3 12:25:51 2019
@@ -163,12 +163,12 @@ Error rendering macro 'code': Invalid va
 
   &lt;route&gt;
     &lt;from uri="direct:start"/&gt;
-    &lt;marshal ref="myJaxb"/&gt;
+    &lt;marshal&gt;&lt;custom ref="myJaxb"/&gt;&lt;/marshal&gt;
     &lt;to uri="direct:marshalled"/&gt;
   &lt;/route&gt;
   &lt;route&gt;
     &lt;from uri="direct:marshalled"/&gt;
-    &lt;unmarshal ref="myJaxb"/&gt;
+    &lt;unmarshal&gt;&lt;custom ref="myJaxb"/&gt;&lt;/unmarshal&gt;
     &lt;to uri="mock:result"/&gt;
   &lt;/route&gt;
 

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 Thu Jan  3 12:25:51 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.rbtoc1544537991151 {padding: 0px;}
-div.rbtoc1544537991151 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1544537991151 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1546518029083 {padding: 0px;}
+div.rbtoc1546518029083 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1546518029083 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1544537991151">
+/*]]>*/</style><div class="toc-macro rbtoc1546518029083">
 <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>
@@ -7009,12 +7009,12 @@ Error rendering macro 'code': Invalid va
 
   &lt;route&gt;
     &lt;from uri="direct:start"/&gt;
-    &lt;marshal ref="myJaxb"/&gt;
+    &lt;marshal&gt;&lt;custom ref="myJaxb"/&gt;&lt;/marshal&gt;
     &lt;to uri="direct:marshalled"/&gt;
   &lt;/route&gt;
   &lt;route&gt;
     &lt;from uri="direct:marshalled"/&gt;
-    &lt;unmarshal ref="myJaxb"/&gt;
+    &lt;unmarshal&gt;&lt;custom ref="myJaxb"/&gt;&lt;/unmarshal&gt;
     &lt;to uri="mock:result"/&gt;
   &lt;/route&gt;
 
@@ -9574,7 +9574,6 @@ from("direct:testSetToInOutThenTo")
 // 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");
-from("direct:testToWithRobustInOnlyParam").to(ExchangePattern.RobustInOnly, "mock:result");
 
 // Set the exchange pattern to InOut, then send it on
 from("direct:testSetExchangePatternInOnly")
@@ -9623,10 +9622,6 @@ Error rendering macro 'code': Invalid va
     &lt;from uri="direct:testToWithInOutParam"/&gt;
     &lt;to uri="mock:result" pattern="InOut"/&gt;
   &lt;/route&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testToWithRobustInOnlyParam"/&gt;
-    &lt;to uri="mock:result" pattern="RobustInOnly"/&gt;
-  &lt;/route&gt;
  &lt;/camelContext&gt;
 </pre>
 
@@ -16243,9 +16238,7 @@ quartz://timerName?cron=expression
 </div></div><p>The component uses either a <code>CronTrigger</code> or a <code>SimpleTrigger</code>. If no cron expression is provided, the component uses a simple trigger. If no <code>groupName</code> is provided, the quartz component uses the <code>Camel</code> group name.</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="BookInOnePage-Options.59">Options</h3><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>Parameter</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cron</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>None</em></p></td><td colspan=
 "1" rowspan="1" class="confluenceTd"><p>Specifies a <code>cron</code> expression (not compatible with the <code>trigger.*</code> or <code>job.*</code> options).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trigger.repeatCount</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>SimpleTrigger: How many times should the timer repeat?</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trigger.repeatInterval</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>SimpleTrigger: The amount of time in milliseconds between repeated triggers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>job.name</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><
 p>Sets the job name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>job.<em>XXX</em></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the job option with the <code><em>XXX</em></code> setter name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trigger.<em>XXX</em></code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the trigger option with the <code><em>XXX</em></code> setter name.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>stateful</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses a Quartz <code>StatefulJob</code> instead of the default job.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenc
 eTd"><p><code>fireNow</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>New to Camel 2.2.0, if it is true will fire the trigger when the route is start when using SimpleTrigger.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>deleteJob</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> If set to true, then the trigger automatically delete when route stop. Else if set to false, it will remain in scheduler. When set to false, it will also mean user may reuse pre-configured trigger with camel Uri. Just ensure the names match. Notice you cannot have both deleteJob and pauseJob set to true.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pauseJob</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>f
 alse</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> If set to true, then the trigger automatically pauses when route stop. Else if set to false, it will remain in scheduler. When set to false, it will also mean user may reuse pre-configured trigger with camel Uri. Just ensure the names match. Notice you cannot have both deleteJob and pauseJob set to true.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>usingFixedCamelContextName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong><strong>Camel 2.15.0: </strong></strong><span><span>If it is true, <span>JobDataMap </span></span></span><span>uses the CamelContext name directly to reference the camel context, </span><span>if it is false, <span>JobDataMap </span><span>uses </span>use the CamelContext management name which could be changed during the deploy time.</span></td
 ></tr></tbody></table></div></div>
 
 
-<p>For example, the following routing rule will fire two timer events to the <code>mock:results</code> endpoint:</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("quartz://myGroup/myTimerName?trigger.repeatInterval=2&amp;trigger.repeatCount=1").routeId("myRoute").to("mock:result");
-</pre><p>When using a <a shape="rect" class="external-link" href="http://quartz-scheduler.org/api/2.0.0/org/quartz/StatefulJob.html" rel="nofollow">StatefulJob</a>, the <a shape="rect" class="external-link" href="http://quartz-scheduler.org/api/2.0.0/org/quartz/JobDataMap.html" rel="nofollow">JobDataMap</a> is re-persisted after every execution of the job, thus preserving state for the next execution.</p><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">Running in OSGi and having multiple bundles with quartz routes</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have multiple bundles with Camel routes that start from <a shape="rect" href="quartz.html">Quartz</a> endpoints, then make sure if you assign
 <br clear="none"> an <code>id</code> to the &lt;camelContext&gt; that this id is unique, as this is required by the <code>QuartzScheduler</code> in the OSGi container. If you do not set any <code>id</code> on &lt;camelContext&gt; then<br clear="none"> a unique id is auto assigned, and there is no problem.</p></div></div><h3 id="BookInOnePage-Configuringquartz.propertiesfile">Configuring quartz.properties file</h3><p>By default Quartz will look for a <code>quartz.properties</code> file in the <code>org/quartz</code> directory of the classpath. If you are using WAR deployments this means just drop the quartz.properties in <code>WEB-INF/classes/org/quartz</code>.</p><p>However the Camel <a shape="rect" href="quartz.html">Quartz</a> component also allows you to configure properties:</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="con
 fluenceTh"><p>Parameter</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>properties</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Properties</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4</strong>: You can configure a <code>java.util.Properties</code> instance.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertiesFile</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4</strong>: File name of the p
 roperties to load from the classpath</p></td></tr></tbody></table></div></div>
+<p>For example, the following routing rule will fire two timer events to the <code>mock:results</code> endpoint:</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><p>When using a <a shape="rect" class="external-link" href="http://quartz-scheduler.org/api/2.0.0/org/quartz/StatefulJob.html" rel="nofollow">StatefulJob</a>, the <a shape="rect" class="external-link" href="http://quartz-scheduler.org/api/2.0.0/org/quartz/JobDataMap.html" rel="nofollow">JobDataMap</a> is re-persisted after every execution of the job, thus preserving state for the next execution.</p><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">Running in OSGi and having multiple bundles with quartz routes</p><span class
 ="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have multiple bundles with Camel routes that start from <a shape="rect" href="quartz.html">Quartz</a> endpoints, then make sure if you assign<br clear="none"> an <code>id</code> to the &lt;camelContext&gt; that this id is unique, as this is required by the <code>QuartzScheduler</code> in the OSGi container. If you do not set any <code>id</code> on &lt;camelContext&gt; then<br clear="none"> a unique id is auto assigned, and there is no problem.</p></div></div><h3 id="BookInOnePage-Configuringquartz.propertiesfile">Configuring quartz.properties file</h3><p>By default Quartz will look for a <code>quartz.properties</code> file in the <code>org/quartz</code> directory of the classpath. If you are using WAR deployments this means just drop the quartz.properties in <code>WEB-INF/classes/or
 g/quartz</code>.</p><p>However the Camel <a shape="rect" href="quartz.html">Quartz</a> component also allows you to configure properties:</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>Parameter</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>properties</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Properties</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4</strong>: You can configure a <code>java.util.Properties</code> instance.</p></td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"><p><code>propertiesFile</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.4</strong>: File name of the properties to load from the classpath</p></td></tr></tbody></table></div></div>
 
 
 <p>To do this you can configure this in Spring XML as follows</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">
@@ -16740,7 +16733,7 @@ Error rendering macro 'code': Invalid va
   &lt;endpoint id="endpoint2" uri="mock:end"/&gt;
 
   &lt;route&gt;
-    &lt;from ref="endpoint1"/&gt;
+    &lt;from uri="ref:endpoint1"/&gt;
     &lt;to uri="ref:endpoint2"/&gt;
   &lt;/route&gt;
 &lt;/camelContext&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 Thu Jan  3 12:25:51 2019
@@ -530,7 +530,6 @@ from("direct:testSetToInOutThenTo")
 // 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");
-from("direct:testToWithRobustInOnlyParam").to(ExchangePattern.RobustInOnly, "mock:result");
 
 // Set the exchange pattern to InOut, then send it on
 from("direct:testSetExchangePatternInOnly")
@@ -579,10 +578,6 @@ Error rendering macro 'code': Invalid va
     &lt;from uri="direct:testToWithInOutParam"/&gt;
     &lt;to uri="mock:result" pattern="InOut"/&gt;
   &lt;/route&gt;
-  &lt;route&gt;
-    &lt;from uri="direct:testToWithRobustInOnlyParam"/&gt;
-    &lt;to uri="mock:result" pattern="RobustInOnly"/&gt;
-  &lt;/route&gt;
  &lt;/camelContext&gt;
 </pre>
 

Modified: websites/production/camel/content/book-tutorials.html
==============================================================================
--- websites/production/camel/content/book-tutorials.html (original)
+++ websites/production/camel/content/book-tutorials.html Thu Jan  3 12:25:51 2019
@@ -1999,11 +1999,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.rbtoc1544538199080 {padding: 0px;}
-div.rbtoc1544538199080 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1544538199080 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1546518198624 {padding: 0px;}
+div.rbtoc1546518198624 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1546518198624 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1544538199080">
+/*]]>*/</style><div class="toc-macro rbtoc1546518198624">
 <ul class="toc-indentation"><li><a shape="rect" href="#BookTutorials-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookTutorials-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookTutorials-Distribution">Distribution</a></li><li><a shape="rect" href="#BookTutorials-Introduction">Introduction</a></li><li><a shape="rect" href="#BookTutorials-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookTutorials-Maven2">Maven 2</a></li><li><a shape="rect" href="#BookTutorials-wsdl">wsdl</a></li><li><a shape="rect" href="#BookTutorials-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#BookTutorials-RunningtheExample">Running the Example</a></li></ul>

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

Propchange: websites/production/camel/content/cache/main.pageCache
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: websites/production/camel/content/data-format.html
==============================================================================
--- websites/production/camel/content/data-format.html (original)
+++ websites/production/camel/content/data-format.html Thu Jan  3 12:25:51 2019
@@ -157,12 +157,12 @@ Error rendering macro 'code': Invalid va
 
   &lt;route&gt;
     &lt;from uri="direct:start"/&gt;
-    &lt;marshal ref="myJaxb"/&gt;
+    &lt;marshal&gt;&lt;custom ref="myJaxb"/&gt;&lt;/marshal&gt;
     &lt;to uri="direct:marshalled"/&gt;
   &lt;/route&gt;
   &lt;route&gt;
     &lt;from uri="direct:marshalled"/&gt;
-    &lt;unmarshal ref="myJaxb"/&gt;
+    &lt;unmarshal&gt;&lt;custom ref="myJaxb"/&gt;&lt;/unmarshal&gt;
     &lt;to uri="mock:result"/&gt;
   &lt;/route&gt;
 

Modified: websites/production/camel/content/eventnotifier-to-log-details-about-all-sent-exchanges.html
==============================================================================
--- websites/production/camel/content/eventnotifier-to-log-details-about-all-sent-exchanges.html (original)
+++ websites/production/camel/content/eventnotifier-to-log-details-about-all-sent-exchanges.html Thu Jan  3 12:25:51 2019
@@ -92,7 +92,7 @@
 <div class="wiki-content maincontent"><h2 id="EventNotifiertologdetailsaboutallsentExchanges-EventNotifiertologdetailsaboutallsentExchanges"><code>EventNotifier</code> to log details about all sent Exchanges</h2><p>If you want to log information all time taken to send and receive replies when sending to external endpoints, then you can leverage the <strong><code>EventNotifier</code></strong> in Camel. It allows you to subscribe to events and react upon them.</p><p>For example we want to log the time it takes to send to endpoints which can be done by implementing a class which this logic as follows: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">
 public class MyLoggingSentEventNotifer extends EventNotifierSupport {
 
-    public void notify(EventObject event) throws Exception {
+    public void notify(CamelEvent event) throws Exception {
         // react only when its the sent event
         if (event instanceof ExchangeSentEvent) {
             ExchangeSentEvent sent = (ExchangeSentEvent) event;
@@ -101,18 +101,6 @@ public class MyLoggingSentEventNotifer e
 
     }
 
-    public boolean isEnabled(EventObject event) {
-        return true;
-    }
-
-    protected void doStart() throws Exception {
-        // noop
-    }
-
-    protected void doStop() throws Exception {
-        // noop
-    }
-
 }
 </pre>Then in Java DSL you can tell Camel to use your custom <code>EventNotifier</code> simply by adding it:<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">context.getManagementStrategy().addEventNotifier(new MyLoggingSentEventNotifer());

Modified: websites/production/camel/content/how-can-i-stop-a-route-from-a-route.html
==============================================================================
--- websites/production/camel/content/how-can-i-stop-a-route-from-a-route.html (original)
+++ websites/production/camel/content/how-can-i-stop-a-route-from-a-route.html Thu Jan  3 12:25:51 2019
@@ -165,8 +165,8 @@ public void testStopRouteFromRoute() thr
     context.addRoutes(createMyRoutes());
     context.start();
 
-    assertTrue("Route myRoute should be started", context.getRouteStatus("myRoute").isStarted());
-    assertTrue("Route bar should be started", context.getRouteStatus("bar").isStarted());
+    assertTrue("Route myRoute should be started", context.getRouteController().getRouteStatus("myRoute").isStarted());
+    assertTrue("Route bar should be started", context.getRouteController().getRouteStatus("bar").isStarted());
 
     // setup mock expectations for unit test
     MockEndpoint start = context.getEndpoint("mock:start", MockEndpoint.class);
@@ -182,8 +182,8 @@ public void testStopRouteFromRoute() thr
     latch.await(5, TimeUnit.SECONDS);
 
     // the route should now be stopped
-    assertTrue("Route myRoute should be stopped", context.getRouteStatus("myRoute").isStopped());
-    assertTrue("Route bar should be started", context.getRouteStatus("bar").isStarted());
+    assertTrue("Route myRoute should be stopped", context.getRouteController().getRouteStatus("myRoute").isStopped());
+    assertTrue("Route bar should be started", context.getRouteController().getRouteStatus("bar").isStarted());
 
     // stop camel
     context.stop();
@@ -213,7 +213,7 @@ public RouteBuilder createMyRoutes() thr
                                 @Override
                                 public void run() {
                                     try {
-                                        exchange.getContext().stopRoute("myRoute");
+                                        exchange.getContext().getRouteController().stopRoute("myRoute");
                                     } catch (Exception e) {
                                         // ignore
                                     } finally {