Author: buildbot
Date: Thu Sep 14 19:25:46 2017
New Revision: 1018162
Log:
Production update by buildbot for camel
Added:
websites/production/camel/content/2017/09/
websites/production/camel/content/2017/09/14/
websites/production/camel/content/2017/09/14/apache-camel-2193-released.html
websites/production/camel/content/cache/main.pageCache (with props)
Modified:
websites/production/camel/content/aggregator.html
websites/production/camel/content/ahc-ws.html
websites/production/camel/content/amqp.html
websites/production/camel/content/annotation-based-expression-language.html
websites/production/camel/content/aop.html
websites/production/camel/content/apns.html
websites/production/camel/content/atmosphere-websocket.html
websites/production/camel/content/avro.html
websites/production/camel/content/aws-cw.html
websites/production/camel/content/aws-ddb.html
websites/production/camel/content/aws-ddbstream.html
websites/production/camel/content/aws-ec2.html
websites/production/camel/content/aws-kinesis.html
websites/production/camel/content/aws-s3.html
websites/production/camel/content/aws-sdb.html
websites/production/camel/content/aws-ses.html
websites/production/camel/content/aws-sns.html
websites/production/camel/content/aws-sqs.html
websites/production/camel/content/aws-swf.html
websites/production/camel/content/base64.html
websites/production/camel/content/bean-injection.html
websites/production/camel/content/bean-validator.html
websites/production/camel/content/beanshell.html
websites/production/camel/content/beanstalk.html
websites/production/camel/content/book-architecture.html
websites/production/camel/content/book-component-appendix.html
websites/production/camel/content/book-cookbook.html
websites/production/camel/content/book-dataformat-appendix.html
websites/production/camel/content/book-in-one-page.html
websites/production/camel/content/book-languages-appendix.html
websites/production/camel/content/book-pattern-appendix.html
websites/production/camel/content/book-quickstart.html
websites/production/camel/content/book-tutorials.html
websites/production/camel/content/cache.html
websites/production/camel/content/cachereplicationjmsexample.html
websites/production/camel/content/camel-100-release.html
websites/production/camel/content/camel-110-release.html
websites/production/camel/content/camel-120-release.html
websites/production/camel/content/camel-130-release.html
websites/production/camel/content/camel-140-release.html
websites/production/camel/content/camel-150-release.html
websites/production/camel/content/camel-160-release.html
websites/production/camel/content/camel-161-release.html
websites/production/camel/content/camel-162-release.html
websites/production/camel/content/camel-163-release.html
websites/production/camel/content/camel-164-release.html
websites/production/camel/content/camel-20-m1-release.html
websites/production/camel/content/camel-20-m2-release.html
websites/production/camel/content/camel-20-m3-release.html
websites/production/camel/content/camel-200-release.html
websites/production/camel/content/camel-210-release.html
websites/production/camel/content/camel-2101-release.html
websites/production/camel/content/camel-2102-release.html
websites/production/camel/content/camel-2103-release.html
websites/production/camel/content/camel-2104-release.html
websites/production/camel/content/camel-2105-release.html
websites/production/camel/content/camel-2106-release.html
websites/production/camel/content/camel-2107-release.html
websites/production/camel/content/camel-2111-release.html
websites/production/camel/content/camel-2120-release.html
websites/production/camel/content/camel-2121-release.html
websites/production/camel/content/camel-2125-release.html
websites/production/camel/content/camel-2130-release.html
websites/production/camel/content/camel-2140-release.html
websites/production/camel/content/camel-2144-release.html
websites/production/camel/content/camel-2150-release.html
websites/production/camel/content/camel-2154-release.html
websites/production/camel/content/camel-2155-release.html
websites/production/camel/content/camel-2156-release.html
websites/production/camel/content/camel-2160-release.html
websites/production/camel/content/camel-2161-release.html
websites/production/camel/content/camel-2162-release.html
websites/production/camel/content/camel-2163-release.html
websites/production/camel/content/camel-2164-release.html
websites/production/camel/content/camel-2170-release.html
websites/production/camel/content/camel-2171-release.html
websites/production/camel/content/camel-2172-release.html
websites/production/camel/content/camel-2173-release.html
websites/production/camel/content/camel-2174-release.html
websites/production/camel/content/camel-2175-release.html
websites/production/camel/content/camel-2176-release.html
websites/production/camel/content/camel-2177-release.html
websites/production/camel/content/camel-2180-release.html
websites/production/camel/content/camel-2181-release.html
websites/production/camel/content/camel-2182-release.html
websites/production/camel/content/camel-2183-release.html
websites/production/camel/content/camel-2184-release.html
websites/production/camel/content/camel-2185-release.html
websites/production/camel/content/camel-2190-release.html
websites/production/camel/content/camel-2191-release.html
websites/production/camel/content/camel-2192-release.html
websites/production/camel/content/camel-220-release.html
websites/production/camel/content/camel-2200-release.html
websites/production/camel/content/camel-23-threadpool-configuration.html
websites/production/camel/content/camel-230-release.html
websites/production/camel/content/camel-240-release.html
websites/production/camel/content/camel-250-release.html
websites/production/camel/content/camel-260-release.html
websites/production/camel/content/camel-270-release.html
websites/production/camel/content/camel-271-release.html
websites/production/camel/content/camel-272-release.html
websites/production/camel/content/camel-273-release.html
websites/production/camel/content/camel-274-release.html
websites/production/camel/content/camel-275-release.html
websites/production/camel/content/camel-280-release.html
websites/production/camel/content/camel-281-release.html
websites/production/camel/content/camel-282-release.html
websites/production/camel/content/camel-283-release.html
websites/production/camel/content/camel-284-release.html
websites/production/camel/content/camel-285-release.html
websites/production/camel/content/camel-286-release.html
websites/production/camel/content/camel-290-release.html
websites/production/camel/content/camel-291-release.html
websites/production/camel/content/camel-292-release.html
websites/production/camel/content/camel-293-release.html
websites/production/camel/content/camel-294-release.html
websites/production/camel/content/camel-295-release.html
websites/production/camel/content/camel-296-release.html
websites/production/camel/content/camel-297-release.html
websites/production/camel/content/camel-298-release.html
websites/production/camel/content/camel-configuration-utilities.html
websites/production/camel/content/camel-eclipse.html
websites/production/camel/content/camel-jboss.html
websites/production/camel/content/camel-maven-archetypes.html
websites/production/camel/content/camel-run-maven-goal.html
websites/production/camel/content/camel-xyz-release-template.html
websites/production/camel/content/camel-zipkin.html
websites/production/camel/content/chronicle-engine.html
websites/production/camel/content/chunk.html
websites/production/camel/content/cmis.html
websites/production/camel/content/cometd.html
websites/production/camel/content/component-list-external.html
websites/production/camel/content/component-list-grouped.html
websites/production/camel/content/component-list.html
websites/production/camel/content/component.html
websites/production/camel/content/components.html
websites/production/camel/content/configuring-route-startup-ordering-and-autostartup.html
websites/production/camel/content/consul-component.html
websites/production/camel/content/content-based-routing-on-camel.html
websites/production/camel/content/context.html
websites/production/camel/content/couchbase.html
websites/production/camel/content/couchdb.html
websites/production/camel/content/cronscheduledroutepolicy.html
websites/production/camel/content/csv.html
websites/production/camel/content/custom-dataformat.html
websites/production/camel/content/cxf-example-osgi-blueprint.html
websites/production/camel/content/cxf-example-osgi.html
websites/production/camel/content/dataformat-component.html
websites/production/camel/content/dataset.html
websites/production/camel/content/delay-interceptor.html
websites/production/camel/content/direct-vm.html
websites/production/camel/content/dns.html
websites/production/camel/content/docker.html
websites/production/camel/content/download-archives.html
websites/production/camel/content/dozer-type-conversion.html
websites/production/camel/content/dozer.html
websites/production/camel/content/dropbox.html
websites/production/camel/content/durable-subscriber.html
websites/production/camel/content/dynamicrouter-annotation.html
websites/production/camel/content/ehcache.html
websites/production/camel/content/ejb.html
websites/production/camel/content/el.html
websites/production/camel/content/elasticsearch.html
websites/production/camel/content/elsql.html
websites/production/camel/content/etcd.html
websites/production/camel/content/eventadmin.html
websites/production/camel/content/exception-orgapachecamelnosuchendpointexception.html
websites/production/camel/content/exception-orgxmlsaxsaxparseexception.html
websites/production/camel/content/exec.html
websites/production/camel/content/file-language.html
websites/production/camel/content/flatpack.html
websites/production/camel/content/flink.html
websites/production/camel/content/fop.html
websites/production/camel/content/gae.html
websites/production/camel/content/gauth.html
websites/production/camel/content/geocoder.html
websites/production/camel/content/ghttp.html
websites/production/camel/content/git.html
websites/production/camel/content/github.html
websites/production/camel/content/glogin.html
websites/production/camel/content/gmail.html
websites/production/camel/content/grape.html
websites/production/camel/content/groovy-dsl.html
websites/production/camel/content/groovy-renderer-user-guide.html
websites/production/camel/content/groovy.html
websites/production/camel/content/gsec.html
websites/production/camel/content/gtask.html
websites/production/camel/content/guava-eventbus.html
websites/production/camel/content/guice.html
websites/production/camel/content/hazelcast-component.html
websites/production/camel/content/hazelcast-idempotent-repository-tutorial.html
websites/production/camel/content/hbase.html
websites/production/camel/content/hdfs.html
websites/production/camel/content/hdfs2.html
websites/production/camel/content/hibernate-example.html
websites/production/camel/content/hipchat.html
websites/production/camel/content/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.html
websites/production/camel/content/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.html
websites/production/camel/content/how-do-i-enable-streams-when-debug-logging-messages-in-camel.html
websites/production/camel/content/how-do-i-name-my-routes.html
websites/production/camel/content/how-do-i-run-camel-using-java-webstart.html
websites/production/camel/content/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.html
websites/production/camel/content/how-to-avoid-sending-some-or-all-message-headers.html
websites/production/camel/content/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.html
websites/production/camel/content/how-to-use-camel-as-a-http-proxy-between-a-client-and-server.html
websites/production/camel/content/http4.html
websites/production/camel/content/hystrix-eip.html
websites/production/camel/content/ical.html
websites/production/camel/content/ignite.html
websites/production/camel/content/index.html
websites/production/camel/content/index.userimage/user-avatar
websites/production/camel/content/infinispan.html
websites/production/camel/content/irc.html
websites/production/camel/content/ironmq.html
websites/production/camel/content/jackson-xml.html
websites/production/camel/content/javascript.html
websites/production/camel/content/javaspace.html
websites/production/camel/content/jbpm.html
websites/production/camel/content/jcache.html
websites/production/camel/content/jclouds.html
websites/production/camel/content/jcr.html
websites/production/camel/content/jgroups.html
websites/production/camel/content/jibx.html
websites/production/camel/content/jira.html
websites/production/camel/content/jolt.html
websites/production/camel/content/jsch.html
websites/production/camel/content/jsonpath.html
websites/production/camel/content/jt400.html
websites/production/camel/content/kafka.html
websites/production/camel/content/kestrel.html
websites/production/camel/content/krati.html
websites/production/camel/content/kubernetes.html
websites/production/camel/content/kura.html
websites/production/camel/content/ldap.html
websites/production/camel/content/load-balance-for-existing-messaging-service.html
websites/production/camel/content/log.html
websites/production/camel/content/logeip.html
websites/production/camel/content/lucene.html
websites/production/camel/content/maven-2-snapshot-repository-in-pom.html
websites/production/camel/content/mdc-logging.html
websites/production/camel/content/message-endpoint.html
websites/production/camel/content/message-history.html
websites/production/camel/content/mime-multipart.html
websites/production/camel/content/mina2.html
websites/production/camel/content/mongodb-gridfs.html
websites/production/camel/content/mongodb.html
websites/production/camel/content/mqtt.html
websites/production/camel/content/msv.html
websites/production/camel/content/mustache.html
websites/production/camel/content/mvel-component.html
websites/production/camel/content/mybatis-example.html
websites/production/camel/content/nats.html
websites/production/camel/content/netty-http-server-example.html
websites/production/camel/content/netty-http.html
websites/production/camel/content/netty4-http.html
websites/production/camel/content/netty4.html
websites/production/camel/content/news.html
websites/production/camel/content/nmr.html
websites/production/camel/content/openshift.html
websites/production/camel/content/optaplanner.html
websites/production/camel/content/paho.html
websites/production/camel/content/parameter-binding-annotations.html
websites/production/camel/content/pax-logging.html
websites/production/camel/content/pdf-documentation-guide.html
websites/production/camel/content/pgevent.html
websites/production/camel/content/pluggable-class-resolvers.html
websites/production/camel/content/pojo-consuming.html
websites/production/camel/content/printer.html
websites/production/camel/content/properties.html
websites/production/camel/content/python.html
websites/production/camel/content/quartz.html
websites/production/camel/content/quartz2.html
websites/production/camel/content/rabbitmq.html
websites/production/camel/content/rcode.html
websites/production/camel/content/recipientlist-annotation.html
websites/production/camel/content/ref.html
websites/production/camel/content/release-guide.html
websites/production/camel/content/rmi.html
websites/production/camel/content/routebox.html
websites/production/camel/content/routepolicy.html
websites/production/camel/content/routingslip-annotation.html
websites/production/camel/content/ruby.html
websites/production/camel/content/salesforce.html
websites/production/camel/content/sap-netweaver.html
websites/production/camel/content/scala-dsl.html
websites/production/camel/content/scheduler.html
websites/production/camel/content/script.html
websites/production/camel/content/service-activator.html
websites/production/camel/content/servicecall-eip.html
websites/production/camel/content/shiro-security.html
websites/production/camel/content/simplescheduledroutepolicy.html
websites/production/camel/content/sip.html
websites/production/camel/content/siteindex.html
websites/production/camel/content/sitemap.html
websites/production/camel/content/sjms.html
websites/production/camel/content/slack.html
websites/production/camel/content/smpp.html
websites/production/camel/content/snmp.html
websites/production/camel/content/soap.html
websites/production/camel/content/solr.html
websites/production/camel/content/sort.html
websites/production/camel/content/spark-rest.html
websites/production/camel/content/spel.html
websites/production/camel/content/splunk.html
websites/production/camel/content/spring-boot.html
websites/production/camel/content/spring-ldap.html
websites/production/camel/content/spring-neo4j.html
websites/production/camel/content/spring-redis.html
websites/production/camel/content/spring-web-services.html
websites/production/camel/content/spring-ws-example.html
websites/production/camel/content/springbatch.html
websites/production/camel/content/sql-stored-procedure.html
websites/production/camel/content/sql.html
websites/production/camel/content/ssh.html
websites/production/camel/content/stax.html
websites/production/camel/content/stomp.html
websites/production/camel/content/stream-caching.html
websites/production/camel/content/syslog.html
websites/production/camel/content/tar-dataformat.html
websites/production/camel/content/test.html
websites/production/camel/content/threading-model.html
websites/production/camel/content/timer.html
websites/production/camel/content/transactionerrorhandler.html
websites/production/camel/content/transport.html
websites/production/camel/content/tutorial-axis-camel.html
websites/production/camel/content/tutorial-business-partners.html
websites/production/camel/content/tutorial-example-reportincident-part1.html
websites/production/camel/content/tutorial-example-reportincident-part2.html
websites/production/camel/content/tutorial-example-reportincident-part3.html
websites/production/camel/content/tutorial-example-reportincident-part4.html
websites/production/camel/content/tutorial-example-reportincident-part5.html
websites/production/camel/content/tutorial-for-camel-on-google-app-engine.html
websites/production/camel/content/tutorial-oauth.html
websites/production/camel/content/tutorial-on-using-camel-in-a-web-application.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
websites/production/camel/content/twitter.html
websites/production/camel/content/undertow.html
websites/production/camel/content/uris.html
websites/production/camel/content/validate.html
websites/production/camel/content/vertx.html
websites/production/camel/content/virtualbox.html
websites/production/camel/content/vtd-xml.html
websites/production/camel/content/walk-through-another-example.html
websites/production/camel/content/weather.html
websites/production/camel/content/why-does-camel-use-too-many-threads-with-producertemplate.html
websites/production/camel/content/xml-security-component.html
websites/production/camel/content/xmlbeans.html
websites/production/camel/content/xmljson.html
websites/production/camel/content/xmlsecurity-dataformat.html
websites/production/camel/content/xmpp.html
websites/production/camel/content/xquery-endpoint.html
websites/production/camel/content/xslt.html
websites/production/camel/content/yammer.html
websites/production/camel/content/zeromq.html
websites/production/camel/content/zip-file-dataformat.html
websites/production/camel/content/zookeeper.html
Added:
websites/production/camel/content/2017/09/14/apache-camel-2193-released.html
==============================================================================
---
websites/production/camel/content/2017/09/14/apache-camel-2193-released.html
(added)
+++
websites/production/camel/content/2017/09/14/apache-camel-2193-released.html
Thu Sep 14 19:25:46 2017
@@ -0,0 +1,147 @@
+<!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.19.3 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> > 2017 > 09 > 14 > <a
href="apache-camel-2193-released.html">Apache Camel 2.19.3 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> | <a shape="rect"
href="support.html">Support</a></p></div>
+ <!-- Quicklinks -->
+ </div>
+
+ <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.19.3. This release
contains 40 fixes applied in the past few weeks by the community on the Camel
2.19.x maintenance branch.</p><p>The artifacts are published and ready for you
to <a shape="rect" class="external-link"
href="http://camel.apache.org/download.html">download</a> either from the
Apache mirrors or from the Central Maven repository. For more details please
take a look at the <a shape="rect" class="external-link"
href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12341135&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&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></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=73638388">edit
page</a>)
+ (<a
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=73638388&showComments=true&showCommentArea=true#addcomment">add
comment</a>)
+ </div>
+ </div>
+ </div>
+</div>
+</div>
+</div>
+<div class="design_attribution">
+© 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
[email protected] -->
+<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/aggregator.html
==============================================================================
--- websites/production/camel/content/aggregator.html (original)
+++ websites/production/camel/content/aggregator.html Thu Sep 14 19:25:46 2017
@@ -87,7 +87,7 @@
<tr>
<td valign="top" width="100%">
<div class="wiki-content maincontent"><h3
id="Aggregator-Aggregator">Aggregator</h3><p><strong>This applies for Camel
version 2.2 or older. If you use a newer version then the Aggregator has been
rewritten from Camel 2.3 on and you should use this <a shape="rect"
href="aggregator2.html">Aggregator2</a> link instead.</strong></p><p>The <a
shape="rect" class="external-link"
href="http://www.enterpriseintegrationpatterns.com/Aggregator.html"
rel="nofollow">Aggregator</a> from the <a shape="rect"
href="enterprise-integration-patterns.html">EIP patterns</a> allows you to
combine a number of messages together into a single message.</p><p><span
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image
confluence-external-resource"
src="http://www.enterpriseintegrationpatterns.com/img/Aggregator.gif"
data-image-src="http://www.enterpriseintegrationpatterns.com/img/Aggregator.gif"></span></p><p>A
correlation <a shape="rect" href="expression.html">Expression</a> is used t
o determine the messages which should be aggregated together. If you want to
aggregate all messages into a single message, just use a constant expression.
An <strong><code>AggregationStrategy</code></strong> is used to combine
all the message exchanges for a single correlation key into a single message
exchange. The default strategy just chooses the latest message; so its ideal
for throttling messages.</p><p>For example, imagine a stock market data system;
you are receiving 30,000 messages per second; you may want to throttle down the
updates as, say, a GUI cannot cope with such massive update rates. So you may
want to aggregate these messages together so that within a window (defined by a
maximum number of messages or a timeout), messages for the same stock are
aggregated together; by just choosing the latest message and discarding the
older prices. (You could apply a delta processing algorithm if you prefer to
capture some of the history).</p><div class="confluence-informatio
n-macro confluence-information-macro-tip"><p class="title">Using the
aggregator correctly</p><span class="aui-icon aui-icon-small
aui-iconfont-approve confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>Torsten Mielke wrote a nice <a
shape="rect" class="external-link"
href="http://tmielke.blogspot.com/2009/01/using-camel-aggregator-correctly.html"
rel="nofollow">blog entry</a> with his thoughts and experience on using the
aggreagator. Its a well worth read.</p></div></div><div
class="confluence-information-macro
confluence-information-macro-information"><p class="title">AggregationStrategy
changed in Camel 2.0</p><span class="aui-icon aui-icon-small aui-iconfont-info
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>In Camel 2.0 the
<strong><code>AggregationStrategy</code></strong> callback have been changed to
also be invoked on the very first Exchange.</p><p>On the first invocation of
the <strong><co
de>aggregate</code></strong> method the
<strong><code>oldExchange</code></strong> parameter is
<strong><code>null</code></strong>. The reason is that we have not aggregated
anything yet.<br clear="none"> So its only the
<strong><code>newExchange</code></strong> that has a value. Usually you just
return the <strong><code>newExchange</code></strong> in this situation. But you
still have the power to decide what to do, for example you can do some
alternation on the exchange or remove some headers. And a more common use case
is for instance to count some values from the body payload. That could be to
sum up a total amount etc.</p></div></div><div
class="confluence-information-macro confluence-information-macro-warning"><p
class="title">BatchTimeout and CompletionPredicate</p><span class="aui-icon
aui-icon-small aui-iconfont-error
confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>You cannot use
both <strong><code>batchTimeout</code></strong>
and <strong><code>completionPredicate</code></strong> to trigger a
completion based on either on reaching its goal first. The batch timeout will
always trigger first, at that given interval.</p></div></div><p><strong>Using
the <a shape="rect" href="fluent-builders.html">Fluent
Builders</a></strong></p><p>The following example shows how to aggregate
messages so that only the latest message for a specific value of the
<strong><code>cheese</code></strong> header are sent.</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
// in this route we aggregate all from direct:state based on the header id
cheese
from("direct:start").aggregate(header("cheese")).to("mock:result");
@@ -104,12 +104,12 @@ from("direct:outBatchPredicate"
completionPredicate(header("aggregated").isEqualTo(5)).outBatchSize(10).to("mock:result");
]]></script>
</div></div>If you were using JMS then you may wish to use
the <strong><code>JMSDestination</code></strong> header as the correlation
key; or some custom header for the stock symbol (using the above stock market
example).<div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="brush: bash; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[from("activemq:someReallyFastTopic")
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[from("activemq:someReallyFastTopic")
.aggregator(header("JMSDestination"))
.to("activemq:someSlowTopicForGuis");
]]></script>
</div></div><p>You can of course use many different <a shape="rect"
href="expression.html">Expression</a> languages such as <a shape="rect"
href="xpath.html">XPath</a>, <a shape="rect" href="xquery.html">XQuery</a>, <a
shape="rect" href="sql.html">SQL</a> or various <a shape="rect"
href="scripting-languages.html">Scripting Languages</a>. <br clear="none"> Here
is an example using <strong>XPath</strong>:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: bash; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[//aggregate based on the message content
using an XPath expression
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[//aggregate based on the message content
using an XPath expression
//example assumes an XML document starting with <stockQuote
symbol='...'>
//aggregate messages based on their symbol attribute within the
<stockQuote> element
from("seda:start").aggregate().xpath("/stockQuote/@symbol",
String.class).batchSize(5).to("mock:result");
@@ -119,13 +119,13 @@ from("seda:start").aggregate()
from("seda:start").aggregate().xpath("name(/stockQuote[@symbol='APACHE'])",
String.class).batchSize(5).to("mock:result");
]]></script>
</div></div><p>For further examples of this pattern in use you could look at
the <a shape="rect" class="external-link"
href="http://svn.apache.org/viewvc/camel/tags/camel-2.2.0/camel-core/src/test/java/org/apache/camel/processor/AggregatorTest.java?view=markup">junit
test case</a></p><p><strong>Using the <a shape="rect"
href="spring-xml-extensions.html">Spring XML Extensions</a></strong></p><div
class="confluence-information-macro
confluence-information-macro-information"><span class="aui-icon aui-icon-small
aui-iconfont-info confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p>The <strong><code>correlationExpression</code></strong>
element is in Camel 2.0. For earlier versions of Camel you will need to
specify your expression without the
enclosing <strong><code>correlationExpression</code></strong>
element.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="brush: bash; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[<aggregator>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<aggregator>
<simple>header.cheese</simple>
<to uri="mock:result"/>
</aggregator>
]]></script>
</div></div></div></div><p>The following example shows how to create a simple
aggregator using the XML notation; using an <a shape="rect"
href="expression.html">Expression</a> for the correlation value used to
aggregate messages together.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<camelContext id="camel"
xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
@@ -197,7 +197,7 @@ from("seda:start").aggregate()
</camelContext>
]]></script>
</div></div>You can specify your
own <strong><code>AggregationStrategy</code></strong> if you prefer as
shown in the following example<div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<camelContext id="camel"
xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
@@ -213,7 +213,7 @@ from("seda:start").aggregate()
<bean id="aggregatorStrategy"
class="org.apache.camel.spring.processor.MyAggregator"/>
]]></script>
</div></div>Notice how the <strong><code>strategyRef</code></strong>
attribute is used on the <strong><code><aggregator></code></strong>
element to refer to the custom strategy in Spring.<h3
id="Aggregator-ExchangeProperties">Exchange Properties</h3><p>The following
properties is set on each Exchange that are aggregated:</p><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>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>org.apache.camel.Exchange.AggregatedCount</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Camel 1.x: The total number of Exchanges
aggregated in this combined Exchange.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">
<p><code>CamelAggregatedSize</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Camel 2.0: The total number of Exchanges aggregated
into this combined Exchange.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>CamelAggregatedIndex</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Camel 2.0: The current index of this
Exchange in the batch.</p></td></tr></tbody></table></div><h3
id="Aggregator-Batchoptions">Batch options</h3><p>The aggregator supports the
following batch options:</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Option</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="conflue
nceTd"><p><code>batchSize</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>The <strong>in</strong> batch size. This is the number
of incoming exchanges that is processed by the aggregator and when this
threshold is reached the batch is completed and send. </p><p><strong>Camel
1.6.2/2.0:</strong> You can disable the batch size so the Aggregator is only
triggered by timeout by setting the <strong><code>batchSize</code></strong> to
0 (or negative).</p><p>In <strong>Camel 1.6.1</strong> or older you can set the
<strong><code>batchSize</code></strong> to a very large number to archive the
same.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>outBatchSize</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><strong>Camel 1.5:</strong> The
<strong>out</strong> batch size. This is th
e number of exchanges currently aggregated in the
<strong><code>AggregationCollection</code></strong>. When this threshold is
reached the batch is completed and send. By default this option is disabled.
The difference to the <strong><code>batchSize</code></strong> options is that
this is for outgoing, so setting this size to e.g. 50 ensures that this batch
will at maximum contain 50 exchanges when its sent.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>batchTimeout</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>1000L</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Timeout in millis. How long should the
aggregator wait before its completed and sends whatever it has currently
aggregated.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>groupExchanges</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1"
rowspan="1" class="confluenc
eTd"><p><strong>Camel 2.0</strong>: If enabled then Camel will group all
aggregated Exchanges into a single combined
<strong><code>org.apache.camel.impl.GroupedExchange</code></strong> holder
class that holds all the aggregated Exchanges. And as a result only one
Exchange is being sent out from the aggregator. Can be used to combine many
incoming Exchanges into a single output Exchange without coding a
custom <strong><code>AggregationStrategy</code></strong>
yourself.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>batchConsumer</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.0</strong>: This option is
if the exchanges is coming from a <a shape="rect"
href="batch-consumer.html">Batch Consumer</a>. Then when enabled the <a
shape="rect" href="aggregator.html">Aggregator</a> will use the batch size
determined by the <a shape="rect" href="batc
h-consumer.html">Batch Consumer</a> in the message header
<strong><code>CamelBatchSize</code></strong>. See more details at <a
shape="rect" href="batch-consumer.html">Batch Consumer</a>. This can be used to
aggregate all files consumed from a <a shape="rect" href="file2.html">File</a>
endpoint in that given poll.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>completionPredicate</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Allows you to use a <a
shape="rect" href="predicate.html">Predicate</a> to signal when an aggregation
is complete. See <strong>warning</strong> in top of this
page.</p></td></tr></tbody></table></div><h3
id="Aggregator-AggregationCollectionandAggregationStrategy"><code>AggregationCollection</code>
and <code>AggregationStrategy</code></h3><p>This aggregator uses
a <strong><code>AggregationCollection</code></strong> to store the e
xchanges that is currently aggregated.
The <strong><code>AggregationCollection</code></strong> uses a correlation
<a shape="rect" href="expression.html">Expression</a> and an
<strong><code>AggregationStrategy</code></strong>.</p><ul
class="alternate"><li>The correlation <a shape="rect"
href="expression.html">Expression</a> is used to correlate the incoming
exchanges. The default implementation will group messages based on the
correlation expression. Other implementations could for instance just add all
exchanges as a batch.</li><li>The strategy is used for aggregate the old
(lookup by its correlation id) and the new exchanges together into a single
exchange. Possible implementations include performing some kind of combining or
delta processing, such as adding line items together into an invoice or just
using the newest exchange and removing old exchanges such as for state tracking
or market data prices; where old values are of little use.</li></ul><p>Camel
provides these implem
entations:</p><ul
class="alternate"><li><strong><code>DefaultAggregationCollection</code></strong></li><li><strong><code>PredicateAggregationCollection</code></strong></li><li><strong><code>UseLatestAggregationStrategy</code></strong></li></ul><h3
id="Aggregator-Examples">Examples</h3><h4
id="Aggregator-Defaultexample">Default example</h4><p>By default Camel uses
<strong><code>DefaultAggregationCollection</code></strong> and
<strong><code>UseLatestAggregationStrategy</code></strong>, so this simple
example will just keep the latest received exchange for the given correlation
<a shape="rect" href="expression.html">Expression</a>:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
// our route is aggregating from the direct queue and sending the response to
the mock
from("direct:start")
// aggregated by header id
@@ -225,7 +225,7 @@ from("direct:start")
.to("mock:result");
]]></script>
</div></div><h4
id="Aggregator-UsingPredicateAggregationCollection">Using <code>PredicateAggregationCollection</code></h4><p>The <strong><code>PredicateAggregationCollection</code></strong>
is an extension
to <strong><code>DefaultAggregationCollection</code></strong> that uses a
<a shape="rect" href="predicate.html">Predicate</a> as well to determine the
completion. For instance the <a shape="rect"
href="predicate.html">Predicate</a> can test for a special header value, a
number of maximum aggregated so far etc. To use this the routing is a bit more
complex as we need to create
our <strong><code>AggregationCollection</code></strong> object as
follows:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
// create the aggregation collection we will use.
// - we will correlate the received message based on the id header
// - as we will just keep the latest message we use the latest strategy
@@ -243,10 +243,10 @@ from("direct:start")
.to("mock:result");
]]></script>
</div></div>In this sample we use the predicate that we want at most 3
exchanges aggregated by the same correlation id, this is defined as:<div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: bash; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[header(Exchange.AGGREGATED_COUNT).isEqualTo(3)
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[header(Exchange.AGGREGATED_COUNT).isEqualTo(3)
]]></script>
</div></div><p>Using this the aggregator will complete if we receive 3
exchanges with the same correlation id or when the specified timeout of 500
msecs has elapsed (whichever criteria is met first).</p><h4
id="Aggregator-UsingCustomAggregationStrategy">Using Custom Aggregation
Strategy</h4><p>In this example we will aggregate incoming bids and want to
aggregate the highest bid. So we provide our own strategy where we implement
the code logic:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
private static class MyAggregationStrategy implements AggregationStrategy {
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
@@ -262,7 +262,7 @@ private static class MyAggregationStrate
}
]]></script>
</div></div>Then we setup the routing as follows:<div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
// our route is aggregating from the direct queue and sending the response to
the mock
from("direct:start")
// aggregated by header id and use our own strategy how to aggregate
@@ -272,7 +272,7 @@ from("direct:start")
.to("mock:result");
]]></script>
</div></div>And since this is based on an unit test we show the test code that
send the bids and what is expected as the
<strong><code>winners</code></strong>:<div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
MockEndpoint result = getMockEndpoint("mock:result");
// we expect to find the two winners with the highest bid
@@ -289,7 +289,7 @@ template.sendBodyAndHeader("direct:
assertMockEndpointsSatisfied();
]]></script>
</div></div><h4 id="Aggregator-UsingCustomAggregationCollection">Using Custom
Aggregation Collection</h4><p>In this example we will aggregate incoming bids
and want to aggregate the bids in reverse order (this is just an example). So
we provide our own collection where we implement the code logic:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
class MyReverseAggregationCollection extends
AbstractCollection<Exchange> implements AggregationCollection {
private List<Exchange> collection = new ArrayList<Exchange>();
@@ -337,7 +337,7 @@ class MyReverseAggregationCollection ext
}
]]></script>
</div></div>Then we setup the routing as follows:<div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
// our route is aggregating from the direct queue and sending the response to
the mock
from("direct:start")
// use our own collection for aggregation
@@ -347,7 +347,7 @@ from("direct:start")
.to("mock:result");
]]></script>
</div></div>And since this is based on an unit test we show the test code that
send the bids and what is expected as the expected reverse order:<div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
MockEndpoint result = getMockEndpoint("mock:result");
// we expect 5 messages since our custom aggregation collection just gets it
all
@@ -365,7 +365,7 @@ template.sendBodyAndHeader("direct:
assertMockEndpointsSatisfied();
]]></script>
</div></div><h5 id="Aggregator-CustomaggregationcollectioninSpringDSL">Custom
aggregation collection in Spring DSL</h5><p>You can also specify a custom
aggregation collection in the Spring DSL. Here is an example for Camel
2.0</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<camelContext id="camel"
xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
@@ -378,13 +378,13 @@ assertMockEndpointsSatisfied();
<bean id="aggregatorCollection"
class="org.apache.camel.processor.aggregator.MyReverseAggregationCollection"/>
]]></script>
</div></div>In Camel 1.5.1 you will need to specify the aggregator as:<div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: bash; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[<aggregator batchTimeout="500"
collectionRef="aggregatorCollection">
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<aggregator batchTimeout="500"
collectionRef="aggregatorCollection">
<expression/>
<to uri="mock:result"/>
</aggregator>
]]></script>
</div></div><h4 id="Aggregator-UsingGroupedExchanges">Using Grouped
Exchanges</h4><p><strong>Available as of Camel 2.0</strong></p><p>You can
enable grouped exchanges to combine all aggregated exchanges into a single
<strong><code>org.apache.camel.impl.GroupedExchange</code></strong> holder
class that contains all the individual aggregated exchanges. This allows you to
process a single Exchange containing all the aggregated exchange. Lets start
with how to configure this in the router:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
// our route is aggregating from the direct queue and sending the response to
the mock
from("direct:start")
// aggregate all using same expression
@@ -396,7 +396,7 @@ from("direct:start")
.to("mock:result");
]]></script>
</div></div>And the next part is part of an unit code that demonstrates this
feature as we send in 5 exchanges each with a different value in the body. And
we will only get 1 exchange out of the aggregator, but we can access all the
individual aggregated exchanges from the List which we can extract as a
property from the Exchange using the key
<strong><code>Exchange.GROUPED_EXCHANGE</code></strong>.<div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
MockEndpoint result = getMockEndpoint("mock:result");
// we expect 1 messages since we group all we get in using the same
correlation key
@@ -423,7 +423,7 @@ assertEquals("200", grouped.ge
assertEquals("190", grouped.get(4).getIn().getBody(String.class));
]]></script>
</div></div><h4 id="Aggregator-UsingBatchConsumer">Using Batch
Consumer</h4><p><strong>Available as of Camel 2.0</strong></p><p>The <a
shape="rect" href="aggregator.html">Aggregator</a> can work together with the
<a shape="rect" href="batch-consumer.html">Batch Consumer</a> to aggregate the
total number of messages that the <a shape="rect"
href="batch-consumer.html">Batch Consumer</a> have reported. This allows you
for instance to aggregate all files polled using the <a shape="rect"
href="file2.html">File</a> consumer.</p><p>For example:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: bash; gutter: false; theme: Confluence"
type="syntaxhighlighter"><![CDATA[from("file://inbox")
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[from("file://inbox")
.aggregate(xpath("//order/@customerId"), new
AggregateCustomerOrderStrategy()).batchConsumer().batchTimeout(60000).to("bean:processOrder");
]]></script>
</div></div><p>When using <strong><code>batchConsumer</code></strong> Camel
will automatic adjust the <strong><code>batchSize</code></strong>
according to reported by the <a shape="rect" href="batch-consumer.html">Batch
Consumer</a> in this case the file consumer. So if we poll in 7 files then the
aggregator will aggregate all 7 files before it completes. As the timeout is
still in play we set it to 60 seconds.</p><p></p><h4
id="Aggregator-UsingThisPattern">Using This Pattern</h4>
Modified: websites/production/camel/content/ahc-ws.html
==============================================================================
--- websites/production/camel/content/ahc-ws.html (original)
+++ websites/production/camel/content/ahc-ws.html Thu Sep 14 19:25:46 2017
@@ -86,7 +86,7 @@
<tr>
<td valign="top" width="100%">
<div class="wiki-content maincontent"><h2
id="AHC-WS-AsyncHttpClient(AHC)WebsocketClientComponent">Async Http Client
(AHC) Websocket Client Component</h2><p><strong>Available as of Camel
2.14</strong></p><p>The <strong>ahc-ws</strong> component provides
Websocket based <a shape="rect"
href="endpoint.html">endpoints</a> for a client communicating with
external servers over Websocket (as a client opening a websocket connection to
an external server).<br clear="none">The component uses the <a shape="rect"
href="ahc.html">AHC</a> component that in turn uses the <a shape="rect"
class="external-link"
href="https://github.com/AsyncHttpClient/async-http-client"
rel="nofollow">Async Http Client</a> library.</p><p>Maven users will need
to add the following dependency to their <code>pom.xml</code> for
this component:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-ahc-ws</artifactId>
<version>x.x.x</version>
@@ -102,7 +102,7 @@ ahc-wss://hostname[:port][/resourceUri][
.to("ahc-ws://targethost");
]]></script>
</div></div><p>And the equivalent Spring sample:</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<camelContext
xmlns="http://camel.apache.org/schema/spring">
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<camelContext
xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
<to uri="ahc-ws://targethost"/>
@@ -114,7 +114,7 @@ ahc-wss://hostname[:port][/resourceUri][
.to("direct:next");
]]></script>
</div></div><p>And the equivalent Spring sample:</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<camelContext
xmlns="http://camel.apache.org/schema/spring">
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<camelContext
xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="ahc-ws://targethost"/>
<to uri="direct:next"/>
Modified: websites/production/camel/content/amqp.html
==============================================================================
--- websites/production/camel/content/amqp.html (original)
+++ websites/production/camel/content/amqp.html Thu Sep 14 19:25:46 2017
@@ -87,7 +87,7 @@
<tr>
<td valign="top" width="100%">
<div class="wiki-content maincontent"><h2 id="AMQP-AMQP">AMQP</h2><p>The
<strong style="line-height: 1.42857;">amqp:</strong> component supports the <a
shape="rect" class="external-link" href="http://www.amqp.org/" rel="nofollow"
style="line-height: 1.42857;">AMQP 1.0 protocol</a> using the JMS Client API of
the <a shape="rect" class="external-link"
href="https://github.com/apache/qpid-jms/" rel="nofollow">Qpid</a> project. In
case you want to use <strong>AMQP 0.9</strong> (in particular RabbitMQ) you
might also be interested in the <a shape="rect" href="rabbitmq.html">Camel
RabbitMQ</a> component. Please keep in mind that prior to the <strong>Camel
2.17.0</strong> AMQP component supported <strong>AMQP 0.9</strong> and above,
however since <strong>Camel 2.17.0</strong> it supports only <strong>AMQP
1.0</strong>.</p><p>Maven users will need to add the following dependency to
their <strong><code>pom.xml</code></strong> for this component:</p><div
class="code panel pdl" style="border-w
idth: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-amqp</artifactId>
<version>${camel.version}</version> <!-- use the same
version as your Camel core version -->
Modified:
websites/production/camel/content/annotation-based-expression-language.html
==============================================================================
--- websites/production/camel/content/annotation-based-expression-language.html
(original)
+++ websites/production/camel/content/annotation-based-expression-language.html
Thu Sep 14 19:25:46 2017
@@ -158,7 +158,7 @@ public class MySimpleIdGenerator {
<p>And finally we just need to remember to have our bean registered in the
Spring <a shape="rect" href="registry.html">Registry</a>:</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<bean id="myCorrelationIdGenerator"
class="com.mycompany.MySimpleIdGenerator"/>
]]></script>
</div></div>
Modified: websites/production/camel/content/aop.html
==============================================================================
--- websites/production/camel/content/aop.html (original)
+++ websites/production/camel/content/aop.html Thu Sep 14 19:25:46 2017
@@ -124,7 +124,7 @@ from("jms:queue:inbox")
<h3 id="AOP-UsingfromSpringDSL">Using from Spring DSL</h3>
<p>In Spring DSL its nearly the same as in the Java DSL however a bit
differently</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<route>
<from uri="jms:queue:inbox"/>
<aop beforeUri="log:before" afterUri="log:after">
Modified: websites/production/camel/content/apns.html
==============================================================================
--- websites/production/camel/content/apns.html (original)
+++ websites/production/camel/content/apns.html Thu Sep 14 19:25:46 2017
@@ -86,7 +86,7 @@
<tr>
<td valign="top" width="100%">
<div class="wiki-content maincontent"><h2 id="APNS-ApnsComponent">Apns
Component</h2><p><strong>Available as of Camel 2.8</strong></p><p>The
<strong>apns</strong> component is used for sending notifications to iOS
devices. The apns components use <a shape="rect" class="external-link"
href="https://github.com/notnoop/java-apns" rel="nofollow">javapns</a>
library.<br clear="none"> The component supports sending notifications to Apple
Push Notification Servers (APNS) and consuming feedback from the
servers.</p><p>The consumer is configured with 3600 seconds for polling by
default because it is a best practice to consume feedback stream from Apple
Push Notification Servers only from time to time. For example: every 1 hour to
avoid flooding the servers.</p><p>The feedback stream gives informations about
inactive devices. You only need to get this informations every some hours if
your mobile application is not a heavily used one.</p><p>Maven users will need
to add the following dependency
to their <code>pom.xml</code> for this component:</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-apns</artifactId>
<version>x.x.x</version>
@@ -111,7 +111,7 @@
};]]></script>
</div></div><h3 id="APNS-Samples">Samples</h3><h4
id="APNS-CamelXmlroute">Camel Xml route</h4><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<beans
xmlns="http://www.springframework.org/schema/beans"
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:camel="http://camel.apache.org/schema/spring"
xsi:schemaLocation="
Modified: websites/production/camel/content/atmosphere-websocket.html
==============================================================================
--- websites/production/camel/content/atmosphere-websocket.html (original)
+++ websites/production/camel/content/atmosphere-websocket.html Thu Sep 14
19:25:46 2017
@@ -86,7 +86,7 @@
<tr>
<td valign="top" width="100%">
<div class="wiki-content maincontent"><h2
id="Atmosphere-Websocket-AtmosphereWebsocketServletComponent">Atmosphere
Websocket Servlet Component</h2><p><strong>Available as of Camel
2.14</strong></p><p>The <strong>atmosphere-websocket:</strong> component
provides Websocket based <a shape="rect"
href="endpoint.html">endpoints</a> for a servlet communicating with
external clients over Websocket (as a servlet accepting websocket connections
from external clients).<br clear="none">The component uses the <a shape="rect"
href="servlet.html">SERVLET</a> component and uses the <a shape="rect"
class="external-link" href="https://github.com/Atmosphere/atmosphere"
rel="nofollow">Atmosphere</a> library to support the Websocket transport
in various Servlet containers (e..g., Jetty, Tomcat, ...).</p><p>Unlike the <a
shape="rect"
href="https://cwiki.apache.org/confluence/display/CXF20DOC/WebSocket">Websocket</a>
component that starts the embedded Jetty server, this comp
onent uses the servlet provider of the container.</p><p>Maven users will need
to add the following dependency to their <code>pom.xml</code> for
this component:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-atmosphere-websocket</artifactId>
<version>x.x.x</version>
@@ -101,7 +101,7 @@
.to("direct:next");
]]></script>
</div></div><p>And the equivalent Spring sample:</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<camelContext
xmlns="http://camel.apache.org/schema/spring">
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<camelContext
xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="atmosphere-websocket:///servicepath"/>
<to uri="direct:next"/>
@@ -113,7 +113,7 @@
.to("atmosphere-websocket:///servicepath");
]]></script>
</div></div><p>And the equivalent Spring sample:</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<camelContext
xmlns="http://camel.apache.org/schema/spring">
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<camelContext
xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:next"/>
<to uri="atmosphere-websocket:///servicepath"/>
Modified: websites/production/camel/content/avro.html
==============================================================================
--- websites/production/camel/content/avro.html (original)
+++ websites/production/camel/content/avro.html Thu Sep 14 19:25:46 2017
@@ -93,7 +93,7 @@
<p>Maven users will need to add the following dependency to their
<code>pom.xml</code> for this component:</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-avro</artifactId>
@@ -108,7 +108,7 @@
<p>Avro allows you to define message types and a protocol using a json like
format and then generate java code for the specified types and messages. An
example of how a schema looks like is below.</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
{"namespace": "org.apache.camel.avro.generated",
"protocol": "KeyValueProtocol",
@@ -166,7 +166,7 @@ class Value {
<p>Using the avro data format is as easy as specifying that the class that you
want to marshal or unmarshal in your route.</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<camelContext id="camel"
xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:in"/>
@@ -182,7 +182,7 @@ class Value {
<p>An alternative can be to specify the dataformat inside the context and
reference it from your route.</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<camelContext id="camel"
xmlns="http://camel.apache.org/schema/spring">
<dataFormats>
<avro id="avro"
instanceClass="org.apache.camel.dataformat.avro.Message"/>
@@ -247,7 +247,7 @@ avro:[transport]:[host]:[port][/messageN
<p>An example of using camel avro producers via http:</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<route>
<from uri="direct:start"/>
<to
uri="avro:http:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
@@ -259,7 +259,7 @@ avro:[transport]:[host]:[port][/messageN
<p>In the example above you need to fill <code>CamelAvroMessageName</code>
header. <strong>Since 2.12</strong> you can use following syntax to call
constant messages:</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
    <route>
      <from uri="direct:start"/>
      <to
uri="avro:http:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
@@ -270,7 +270,7 @@ avro:[transport]:[host]:[port][/messageN
<p>An example of consuming messages using camel avro consumers via netty:</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<route>
<from
uri="avro:netty:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
<choice>
@@ -290,7 +290,7 @@ avro:[transport]:[host]:[port][/messageN
<p><strong>Since 2.12</strong> you can set up two distinct routes to perform
the same task:</p>
<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[
<route>
<from
uri="avro:netty:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol">
<process ref="putProcessor"/>
Modified: websites/production/camel/content/aws-cw.html
==============================================================================
--- websites/production/camel/content/aws-cw.html (original)
+++ websites/production/camel/content/aws-cw.html Thu Sep 14 19:25:46 2017
@@ -106,7 +106,7 @@ AmazonCloudWatch client = new AmazonClou
registry.bind("client", client);
]]></script>
</div></div><h3 id="AWS-CW-Dependencies">Dependencies</h3><p>Maven users will
need to add the following dependency to their
<strong><code>pom.xml</code></strong>.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>pom.xml</b></div><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
Modified: websites/production/camel/content/aws-ddb.html
==============================================================================
--- websites/production/camel/content/aws-ddb.html (original)
+++ websites/production/camel/content/aws-ddb.html Thu Sep 14 19:25:46 2017
@@ -133,7 +133,7 @@ AmazonDynamoDB client = new AmazonDynamo
registry.bind("client", client);
]]></script>
</div></div><h3 id="AWS-DDB-Dependencies">Dependencies</h3><p>Maven users will
need to add the following dependency to their
<strong><code>pom.xml</code></strong>.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>pom.xml</b></div><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
Modified: websites/production/camel/content/aws-ddbstream.html
==============================================================================
--- websites/production/camel/content/aws-ddbstream.html (original)
+++ websites/production/camel/content/aws-ddbstream.html Thu Sep 14 19:25:46
2017
@@ -100,7 +100,7 @@ region.createClient(AmazonDynamoDBStream
registry.bind("kinesisClient", client);
]]></script>
</div></div><h4 id="AWS-DDBSTREAM-ProvidingAWSCredentials">Providing AWS
Credentials</h4><p>It is recommended that the credentials are obtained by using
the <a shape="rect" class="external-link"
href="http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html"
rel="nofollow">DefaultAWSCredentialsProviderChain</a> that is the default when
creating a new ClientConfiguration instance, however, a different <a
shape="rect" class="external-link"
href="http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html"
rel="nofollow">AWSCredentialsProvider</a> can be specified when calling
createClient(...).</p><h3 id="AWS-DDBSTREAM-CopingwithDowntime">Coping with
Downtime</h3><h4
id="AWS-DDBSTREAM-AWSDynamoDBStreamsoutageoflessthan24hours">AWS DynamoDB
Streams outage of less than 24 hours</h4><p>The consumer will resume from the
last seen sequence number (as implemented for <a shape="rect" clas
s="external-link"
href="https://issues.apache.org/jira/browse/CAMEL-9515">CAMEL-9515</a>), so you
should receive a flood of events in quick succession, as long as the outage did
not also include DynamoDB itself.</p><h4
id="AWS-DDBSTREAM-AWSDynamoDBStreamsoutageofmorethan24hours">AWS DynamoDB
Streams outage of more than 24 hours</h4><p>Given that AWS only retain 24 hours
worth of changes, you will have missed change events no matter what mitigations
are in place.</p><h3 id="AWS-DDBSTREAM-Dependencies">Dependencies</h3><p>Maven
users will need to add the following dependency to their pom.xml.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeHeader
panelHeader pdl" style="border-bottom-width: 1px;"><b>pom.xml</b></div><div
class="codeContent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
Modified: websites/production/camel/content/aws-ec2.html
==============================================================================
--- websites/production/camel/content/aws-ec2.html (original)
+++ websites/production/camel/content/aws-ec2.html Thu Sep 14 19:25:46 2017
@@ -92,7 +92,7 @@
<p><span style="font-size: 16.0px;line-height:
1.5625;">Dependencies</span></p><p>Maven users will need to add the following
dependency to their <strong><code>pom.xml</code></strong>.</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>pom.xml</b></div><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
Modified: websites/production/camel/content/aws-kinesis.html
==============================================================================
--- websites/production/camel/content/aws-kinesis.html (original)
+++ websites/production/camel/content/aws-kinesis.html Thu Sep 14 19:25:46 2017
@@ -103,7 +103,7 @@ registry.bind("kinesisClient",
<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[from("aws-kinesis://mykinesisstream?amazonKinesisClient=#kinesisClient")
.to("log:out?showAll=true");]]></script>
</div></div><h4 id="AWS-KINESIS-ProvidingAWSCredentials">Providing AWS
Credentials</h4><p>It is recommended that the credentials are obtained by using
the <a shape="rect" class="external-link"
href="http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html"
rel="nofollow">DefaultAWSCredentialsProviderChain</a> that is the default when
creating a new ClientConfiguration instance, however, a different <a
shape="rect" class="external-link"
href="http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html"
rel="nofollow">AWSCredentialsProvider</a> can be specified when calling
createClient(...).</p><h3
id="AWS-KINESIS-Dependencies">Dependencies</h3><p>Maven users will need to add
the following dependency to their pom.xml.</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>pom.xml</b></div><div class="codeCo
ntent panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>
Modified: websites/production/camel/content/aws-s3.html
==============================================================================
--- websites/production/camel/content/aws-s3.html (original)
+++ websites/production/camel/content/aws-s3.html Thu Sep 14 19:25:46 2017
@@ -113,7 +113,7 @@ registry.bind("client", client
.to("mock:result");
]]></script>
</div></div><h3 id="AWS-S3-Dependencies">Dependencies</h3><p>Maven users will
need to add the following dependency to their pom.xml.</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl"
style="border-bottom-width: 1px;"><b>pom.xml</b></div><div class="codeContent
panelContent pdl">
-<script class="brush: xml; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
+<script class="brush: java; gutter: false; theme: Default"
type="syntaxhighlighter"><![CDATA[<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-aws</artifactId>
<version>${camel-version}</version>