You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2016/01/26 11:39:47 UTC
[1/6] camel git commit: Added camel-apns docs to gitbook
Repository: camel
Updated Branches:
refs/heads/master 3861ba00b -> 3437b3ed7
Added camel-apns docs to gitbook
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/aadade78
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/aadade78
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/aadade78
Branch: refs/heads/master
Commit: aadade78cc7534548301c77a16feed4a329c66d5
Parents: 46baa9f
Author: Andrea Cosentino <an...@gmail.com>
Authored: Tue Jan 26 09:59:02 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Tue Jan 26 11:38:16 2016 +0100
----------------------------------------------------------------------
components/camel-amqp/src/main/docs/amqp.adoc | 168 ++++++++++++
components/camel-apns/src/main/docs/apns.adoc | 294 +++++++++++++++++++++
docs/user-manual/en/SUMMARY.md | 1 +
3 files changed, 463 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/aadade78/components/camel-amqp/src/main/docs/amqp.adoc
----------------------------------------------------------------------
diff --git a/components/camel-amqp/src/main/docs/amqp.adoc b/components/camel-amqp/src/main/docs/amqp.adoc
new file mode 100644
index 0000000..5526dce
--- /dev/null
+++ b/components/camel-amqp/src/main/docs/amqp.adoc
@@ -0,0 +1,168 @@
+[[AMQP-AMQP]]
+AMQP
+~~~~
+
+The *amqp:* component supports the http://www.amqp.org/[AMQP 1.0
+protocol] using the JMS Client API of the http://qpid.apache.org/[Qpid]
+project. In case you want to use AMQP 0.9 (in particular RabbitMQ) you
+might also be interested in the link:rabbitmq.html[Camel RabbitMQ]
+component. Please keep in mind that prior to the Camel 2.17.0 AMQP
+component supported AMQP 0.9 and above, however since Camel 2.17.0 it
+supports only AMQP 1.0.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-amqp</artifactId>
+ <version>${camel.version}</version> <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------------------------------------------
+
+[[AMQP-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+---------------------------------------------
+amqp:[queue:|topic:]destinationName[?options]
+---------------------------------------------
+
+[[AMQP-AMQPOptions]]
+AMQP Options
+^^^^^^^^^^^^
+
+You can specify all of the various configuration options of the
+link:../../../../camel-jms/src/main/docs/readme.html[JMS] component after the destination name.
+
+[[AMQP-Usage]]
+Usage
+^^^^^
+
+As AMQP component is inherited from JMS component, the usage of the
+former is almost identical to the latter:
+
+*Using AMQP component*
+
+[source,java]
+------------------------------------
+// Consuming from AMQP queue
+from("amqp:queue:incoming").
+ to(...);
+
+// Sending message to the AMQP topic
+from(...).
+ to("amqp:topic:notify");
+------------------------------------
+
+[[AMQP-ConfiguringAMQPcomponent]]
+Configuring AMQP component
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Starting from the Camel 2.16.1 you can also use the
+`AMQPComponent#amqp10Component(String connectionURI)` factory method to
+return the AMQP 1.0 component with the pre-configured topic prefix:
+
+*Creating AMQP 1.0 component*
+
+[source,java]
+-----------------------------------------------------------------------------------------
+ AMQPComponent amqp = AMQPComponent.amqp10Component("amqp://guest:guest@localhost:5672");
+-----------------------------------------------------------------------------------------
+
+Keep in mind that starting from the
+Camel 2.17 the `AMQPComponent#amqp10Component(String connectionURI)` factory
+method has been deprecated on the behalf of the
+`AMQPComponent#amqpComponent(String connectionURI)`:
+
+*Creating AMQP 1.0 component*
+
+[source,java]
+--------------------------------------------------------------------------------------------------------
+AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672");
+
+AMQPComponent authorizedAmqp = AMQPComponent.amqpComponent("amqp://localhost:5672", "user", "password");
+--------------------------------------------------------------------------------------------------------
+
+Starting from Camel 2.17, in order to automatically configure the AMQP
+component, you can also add an instance
+of `org.apache.camel.component.amqp.AMQPConnectionDetails` to the
+registry. For example for Spring Boot you just have to define bean:
+
+*AMQP connection details auto-configuration*
+
+[source,java]
+-------------------------------------------------------------------------------------
+@Bean
+AMQPConnectionDetails amqpConnection() {
+ return new AMQPConnectionDetails("amqp://lcoalhost:5672");
+}
+
+@Bean
+AMQPConnectionDetails securedAmqpConnection() {
+ return new AMQPConnectionDetails("amqp://lcoalhost:5672", "username", "password");
+}
+-------------------------------------------------------------------------------------
+
+
+
+You can also rely on the link:properties.html[Camel properties] to read
+the AMQP connection details. Factory
+method `AMQPConnectionDetails.discoverAMQP()` attempts to read Camel
+properties in a Kubernetes-like convention, just as demonstrated on the
+snippet below:
+
+
+
+*AMQP connection details auto-configuration*
+
+[source,java]
+-----------------------------------------------
+export AMQP_SERVICE_HOST = "mybroker.com"
+export AMQP_SERVICE_PORT = "6666"
+export AMQP_SERVICE_USERNAME = "username"
+export AMQP_SERVICE_PASSWORD = "password"
+
+...
+
+@Bean
+AMQPConnectionDetails amqpConnection() {
+ return AMQPConnectionDetails.discoverAMQP();
+}
+-----------------------------------------------
+
+[[AMQP-Usingtopics]]
+Using topics
+^^^^^^^^^^^^
+
+To have using topics working with `camel-amqp` you need to configure the
+component to use `topic://` as topic prefix, as shown below:
+
+[source,java]
+-------------------------------------------------------------------------------------------------------------------------------
+ <bean id="amqp" class="org.apache.camel.component.amqp.AmqpComponent">
+ <property name="connectionFactory">
+ <bean class="org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl" factory-method="createFromURL">
+ <constructor-arg index="0" type="java.lang.String" value="amqp://localhost:5672" />
+ <property name="topicPrefix" value="topic://" /> <!-- only necessary when connecting to ActiveMQ over AMQP 1.0 -->
+ </bean>
+ </property>
+ </bean>
+-------------------------------------------------------------------------------------------------------------------------------
+
+Keep in mind that both `AMQPComponent#amqpComponent()` methods and
+`AMQPConnectionDetails` pre-configure the component with the topic
+prefix, so you don't have to configure it explicitly.
+
+[[AMQP-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/aadade78/components/camel-apns/src/main/docs/apns.adoc
----------------------------------------------------------------------
diff --git a/components/camel-apns/src/main/docs/apns.adoc b/components/camel-apns/src/main/docs/apns.adoc
new file mode 100644
index 0000000..ada0bae
--- /dev/null
+++ b/components/camel-apns/src/main/docs/apns.adoc
@@ -0,0 +1,294 @@
+[[APNS-ApnsComponent]]
+Apns Component
+~~~~~~~~~~~~~~
+
+*Available as of Camel 2.8*
+
+The *apns* component is used for sending notifications to iOS devices.
+The apns components use https://github.com/notnoop/java-apns[javapns]
+library. +
+ The component supports sending notifications to Apple Push Notification
+Servers (APNS) and consuming feedback from the servers.
+
+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.
+
+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.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-apns</artifactId>
+ <version>x.x.x</version>
+ <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[APNS-URIformat]]
+URI format
+^^^^^^^^^^
+
+To send notifications:
+
+[source,java]
+---------------------
+apns:notify[?options]
+---------------------
+
+To consume feedback:
+
+[source,java]
+-----------------------
+apns:consumer[?options]
+-----------------------
+
+[[APNS-Options]]
+Options
+^^^^^^^
+
+[[APNS-Producer]]
+Producer
+++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Property |Default |Description
+|`tokens` | |Empty by default. Configure this property in case you want to statically
+declare tokens related to devices you want to notify. Tokens are
+separated by comma.
+|=======================================================================
+
+[[APNS-Consumer]]
+Consumer
+++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Property |Default |Description
+|`delay` |`3600` |Delay in seconds between each poll.
+
+|`initialDelay` |`10` |Seconds before polling starts.
+
+|`timeUnit` |`SECONDS` |Time Unit for polling.
+
+|`userFixedDelay` |`true` |If `true`, use fixed delay between pools, otherwise fixed rate is used.
+See
+http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html[ScheduledExecutorService]
+in JDK for details.
+|=======================================================================
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+[[APNS-Component]]
+Component
++++++++++
+
+The `ApnsComponent` must be configured with a
+`com.notnoop.apns.ApnsService`. The service can be created and
+configured using the
+`org.apache.camel.component.apns.factory.ApnsServiceFactory`. See
+further below for an example. And as well in the
+https://svn.apache.org/repos/asf/camel/trunk/components/camel-apns/[test
+source code].
+
+[[APNS-Exchangedataformat]]
+Exchange data format
+^^^^^^^^^^^^^^^^^^^^
+
+When Camel will fetch feedback data corresponding to inactive devices,
+it will retrieve a List of InactiveDevice objects. Each InactiveDevice
+object of the retrieved list will be setted as the In body, and then
+processed by the consumer endpoint.
+
+[[APNS-MessageHeaders]]
+Message Headers
+^^^^^^^^^^^^^^^
+
+Camel Apns uses these headers.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Property |Default |Description
+|`CamelApnsTokens` | |Empty by default.
+|`CamelApnsMessageType` |`STRING, PAYLOAD, APNS_NOTIFICATION` |In case you choose PAYLOAD for the message type, then the message will
+be considered as a APNS payload and sent as is. In case you choose
+STRING, message will be converted as a APNS payload. From *Camel 2.16*
+onwards APNS_NOTIFICATION is used for sending message body as
+com.notnoop.apns.ApnsNotification types.
+|=======================================================================
+
+[[APNS-ApnsServiceFactorybuildercallback]]
+ApnsServiceFactory builder callback
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+`ApnsServiceFactory` comes with the empty callback method that could be
+used to configure (or even replace) the default `ApnsServiceBuilder`
+instance. The signature of the method could look as follows:
+
+[source,java]
+----------------------------------------------------------------------------------------
+protected ApnsServiceBuilder configureServiceBuilder(ApnsServiceBuilder serviceBuilder);
+----------------------------------------------------------------------------------------
+
+And could be used like as follows:
+
+[source,java]
+-------------------------------------------------------------------------------------------
+ApnsServiceFactory proxiedApnsServiceFactory = new ApnsServiceFactory(){
+
+ @Override
+ protected ApnsServiceBuilder configureServiceBuilder(ApnsServiceBuilder serviceBuilder) {
+ return serviceBuilder.withSocksProxy("my.proxy.com", 6666);
+ }
+
+};
+-------------------------------------------------------------------------------------------
+
+[[APNS-Samples]]
+Samples
+^^^^^^^
+
+[[APNS-CamelXmlroute]]
+Camel Xml route
++++++++++++++++
+
+[source,xml]
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------
+<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="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+ <!-- Replace by desired values -->
+ <bean id="apnsServiceFactory" class="org.apache.camel.component.apns.factory.ApnsServiceFactory">
+
+ <!-- Optional configuration of feedback host and port -->
+ <!-- <property name="feedbackHost" value="localhost" /> -->
+ <!-- <property name="feedbackPort" value="7843" /> -->
+
+ <!-- Optional configuration of gateway host and port -->
+ <!-- <property name="gatewayHost" value="localhost" /> -->
+ <!-- <property name="gatewayPort" value="7654" /> -->
+
+ <!-- Declaration of certificate used -->
+ <!-- from Camel 2.11 onwards you can use prefix: classpath:, file: to refer to load the certificate from classpath or file. Default it classpath -->
+ <property name="certificatePath" value="certificate.p12" />
+ <property name="certificatePassword" value="MyCertPassword" />
+
+ <!-- Optional connection strategy - By Default: No need to configure -->
+ <!-- Possible options: NON_BLOCKING, QUEUE, POOL or Nothing -->
+ <!-- <property name="connectionStrategy" value="POOL" /> -->
+ <!-- Optional pool size -->
+ <!-- <property name="poolSize" value="15" /> -->
+
+ <!-- Optional connection strategy - By Default: No need to configure -->
+ <!-- Possible options: EVERY_HALF_HOUR, EVERY_NOTIFICATION or Nothing (Corresponds to NEVER javapns option) -->
+ <!-- <property name="reconnectionPolicy" value="EVERY_HALF_HOUR" /> -->
+ </bean>
+
+ <bean id="apnsService" factory-bean="apnsServiceFactory" factory-method="getApnsService" />
+
+ <!-- Replace this declaration by wanted configuration -->
+ <bean id="apns" class="org.apache.camel.component.apns.ApnsComponent">
+ <property name="apnsService" ref="apnsService" />
+ </bean>
+
+ <camelContext id="camel-apns-test" xmlns="http://camel.apache.org/schema/spring">
+ <route id="apns-test">
+ <from uri="apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS" />
+ <to uri="log:org.apache.camel.component.apns?showAll=true&multiline=true" />
+ <to uri="mock:result" />
+ </route>
+ </camelContext>
+
+</beans>
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+[[APNS-CamelJavaroute]]
+Camel Java route
+++++++++++++++++
+
+[[APNS-Createcamelcontextanddeclareapnscomponentprogrammatically]]
+Create camel context and declare apns component programmatically
+
+[source,java]
+----------------------------------------------------------------------------------
+ protected CamelContext createCamelContext() throws Exception {
+ CamelContext camelContext = super.createCamelContext();
+
+ ApnsServiceFactory apnsServiceFactory = new ApnsServiceFactory();
+ apnsServiceFactory.setCertificatePath("classpath:/certificate.p12");
+ apnsServiceFactory.setCertificatePassword("MyCertPassword");
+
+ ApnsService apnsService = apnsServiceFactory.getApnsService(camelContext);
+
+ ApnsComponent apnsComponent = new ApnsComponent(apnsService);
+ camelContext.addComponent("apns", apnsComponent);
+
+ return camelContext;
+ }
+----------------------------------------------------------------------------------
+
+[[APNS-ApnsProducer-iOStargetdevicedynamicallyconfiguredviaheader:"CamelApnsTokens"]]
+ApnsProducer - iOS target device dynamically configured via header:
+`"CamelApnsTokens"`
+
+[source,java]
+---------------------------------------------------------------------------------------
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ public void configure() throws Exception {
+ from("direct:test")
+ .setHeader(ApnsConstants.HEADER_TOKENS, constant(IOS_DEVICE_TOKEN))
+ .to("apns:notify");
+ }
+ }
+ }
+---------------------------------------------------------------------------------------
+
+[[APNS-ApnsProducer-iOStargetdevicestaticallyconfiguredviauri]]
+ApnsProducer - iOS target device statically configured via uri
+
+[source,java]
+------------------------------------------------------------------
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ public void configure() throws Exception {
+ from("direct:test").
+ to("apns:notify?tokens=" + IOS_DEVICE_TOKEN);
+ }
+ };
+ }
+------------------------------------------------------------------
+
+[[APNS-ApnsConsumer]]
+ApnsConsumer
+
+[source,java]
+--------------------------------------------------------------------------
+from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS")
+ .to("log:com.apache.camel.component.apns?showAll=true&multiline=true")
+ .to("mock:result");
+--------------------------------------------------------------------------
+
+[[APNS-SeeAlso]]
+See Also
+^^^^^^^^
+
+* http://camel.apache.org/component.html[Component]
+* http://camel.apache.org/endpoint.html[Endpoint]
+*
+http://blog.xebia.fr/2010/09/30/creer-un-composant-apache-camel-de-connexion-a-lapns-1-sur-3/[Blog
+about using APNS (in french)]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/aadade78/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index cc95e01..275b1a0 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -72,6 +72,7 @@
* [Async Http Client (AHC)](ahc.adoc)
* [AHC Websocket (AHC-WS)](ahc-ws.adoc)
* [Amqp](amqp.adoc)
+ * [Apns](apns.adoc)
* [Atom](atom.adoc)
* [CDI](cdi.adoc)
* [JMS](jms.adoc)
[3/6] camel git commit: Added camel-atmosphere-websocket docs to
gitbook
Posted by ac...@apache.org.
Added camel-atmosphere-websocket docs to gitbook
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/1783e696
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/1783e696
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/1783e696
Branch: refs/heads/master
Commit: 1783e696c99f2fb5f945308f9cbd42813e6cd87d
Parents: aadade7
Author: Andrea Cosentino <an...@gmail.com>
Authored: Tue Jan 26 10:05:12 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Tue Jan 26 11:38:17 2016 +0100
----------------------------------------------------------------------
.../src/main/docs/atmosphere-websocket.adoc | 112 +++++++++++++++++++
docs/user-manual/en/SUMMARY.md | 1 +
2 files changed, 113 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/1783e696/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket.adoc
----------------------------------------------------------------------
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket.adoc
new file mode 100644
index 0000000..f0e7c33
--- /dev/null
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket.adoc
@@ -0,0 +1,112 @@
+[[Atmosphere-Websocket-AtmosphereWebsocketServletComponent]]
+Atmosphere Websocket Servlet Component
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.14*
+
+The *atmosphere-websocket:* component provides Websocket
+based link:endpoint.html[endpoints] for a servlet communicating with
+external clients over Websocket (as a servlet accepting websocket
+connections from external clients). +
+The component uses the link:servlet.html[SERVLET] component and uses
+the https://github.com/Atmosphere/atmosphere[Atmosphere] library to
+support the Websocket transport in various Servlet containers (e..g.,
+Jetty, Tomcat, ...).
+
+Unlike the
+https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
+component that starts the embedded Jetty server, this component uses the
+servlet provider of the container.
+
+Maven users will need to add the following dependency to
+their `pom.xml` for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-atmosphere-websocket</artifactId>
+ <version>x.x.x</version>
+ <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[Atmosphere-Websocket-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+-----------------------------------------------
+atmosphere-websocket:///relative path[?options]
+-----------------------------------------------
+
+[[Atmosphere-Websocket-ReadingandWritingDataoverWebsocket]]
+Reading and Writing Data over Websocket
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+An atmopshere-websocket endpoint can either write data to the socket or
+read from the socket, depending on whether the endpoint is configured as
+the producer or the consumer, respectively.
+
+[[Atmosphere-Websocket-ConfiguringURItoReadorWriteData]]
+Configuring URI to Read or Write Data
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+In the route below, Camel will read from the specified websocket
+connection.
+
+[source,java]
+-------------------------------------------
+from("atmosphere-websocket:///servicepath")
+ .to("direct:next");
+-------------------------------------------
+
+And the equivalent Spring sample:
+
+[source,xml]
+------------------------------------------------------------
+<camelContext xmlns="http://camel.apache.org/schema/spring">
+ <route>
+ <from uri="atmosphere-websocket:///servicepath"/>
+ <to uri="direct:next"/>
+ </route>
+</camelContext>
+------------------------------------------------------------
+
+In the route below, Camel will read from the specified websocket
+connection.
+
+[source,java]
+---------------------------------------------------
+from("direct:next")
+ .to("atmosphere-websocket:///servicepath");
+---------------------------------------------------
+
+And the equivalent Spring sample:
+
+[source,xml]
+------------------------------------------------------------
+<camelContext xmlns="http://camel.apache.org/schema/spring">
+ <route>
+ <from uri="direct:next"/>
+ <to uri="atmosphere-websocket:///servicepath"/>
+ </route>
+</camelContext>
+------------------------------------------------------------
+
+
+
+[[Atmosphere-Websocket-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:servlet.html[SERVLET]
+* link:ahc-ws.html[AHC-WS]
+*
+https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/1783e696/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 275b1a0..78c0ae2 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -73,6 +73,7 @@
* [AHC Websocket (AHC-WS)](ahc-ws.adoc)
* [Amqp](amqp.adoc)
* [Apns](apns.adoc)
+ * [Atmosphere Websocket](atmosphere-websocket.adoc)
* [Atom](atom.adoc)
* [CDI](cdi.adoc)
* [JMS](jms.adoc)
[6/6] camel git commit: Added AWS components docs to gitbook
Posted by ac...@apache.org.
Added AWS components docs to gitbook
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3437b3ed
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3437b3ed
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3437b3ed
Branch: refs/heads/master
Commit: 3437b3ed7e6db320d860ec54f0bec9a225b166f7
Parents: 3f7da0f
Author: Andrea Cosentino <an...@gmail.com>
Authored: Tue Jan 26 11:37:55 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Tue Jan 26 11:38:17 2016 +0100
----------------------------------------------------------------------
components/camel-aws/src/main/docs/aws-cw.adoc | 165 +++++++++
components/camel-aws/src/main/docs/aws-ddb.adoc | 348 +++++++++++++++++++
.../camel-aws/src/main/docs/aws-ddbstream.adoc | 171 +++++++++
components/camel-aws/src/main/docs/aws-ec2.adoc | 122 +++++++
.../camel-aws/src/main/docs/aws-kinesis.adoc | 147 ++++++++
components/camel-aws/src/main/docs/aws-s3.adoc | 264 ++++++++++++++
components/camel-aws/src/main/docs/aws-sdb.adoc | 236 +++++++++++++
components/camel-aws/src/main/docs/aws-ses.adoc | 167 +++++++++
components/camel-aws/src/main/docs/aws-sns.adoc | 153 ++++++++
components/camel-aws/src/main/docs/aws-sqs.adoc | 258 ++++++++++++++
components/camel-aws/src/main/docs/aws-swf.adoc | 248 +++++++++++++
components/camel-aws/src/main/docs/aws.adoc | 35 ++
docs/user-manual/en/SUMMARY.md | 12 +
13 files changed, 2326 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-cw.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-cw.adoc b/components/camel-aws/src/main/docs/aws-cw.adoc
new file mode 100644
index 0000000..09b1cba
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-cw.adoc
@@ -0,0 +1,165 @@
+[[AWS-CW-CWComponent]]
+CW Component
+~~~~~~~~~~~~
+
+*Available as of Camel 2.11
+
+The CW component allows messages to be sent to an
+http://aws.amazon.com/cloudwatch/[Amazon CloudWatch] metrics. The
+implementation of the Amazon API is provided by
+the http://aws.amazon.com/sdkforjava/[AWS SDK].
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon CloudWatch. More information are available at
+http://aws.amazon.com/cloudwatch/[Amazon CloudWatch].
+
+[[AWS-CW-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+----------------------------
+aws-cw://namespace[?options]
+----------------------------
+
+The metrics will be created if they don't already exists. +
+ You can append query options to the URI in the following format,
+`?options=value&option2=value&...`
+
+[[AWS-CW-URIOptions]]
+URI Options
+^^^^^^^^^^^
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonCwClient |`null` |Producer |Reference to a `com.amazonaws.services.cloudwatch.AmazonCloudWatch` in
+the link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|name |`null` |Producer |The metric name which is used if the message header
+'CamelAwsCwMetricName' is not present.
+
+|value |`1.0` |Producer |The metric value which is used if the message header
+'CamelAwsCwMetricValue' is not present.
+
+|unit |`Count` |Producer |The metric unit which is used if the message header
+'CamelAwsCwMetricUnit' is not present.
+
+|namespace |`null` |Producer |The metric namespace which is used if the message header
+'CamelAwsCwMetricNamespace' is not present.
+
+|timestamp |`null` |Producer |The metric timestamp which is used if the message header
+'CamelAwsCwMetricTimestamp' is not present.
+
+|amazonCwEndpoint |`null` |Producer |The region with which the AWS-CW client wants to work with.
+
+|proxyHost |`null` |Producer |*Camel 2.16*: Specify a proxy host to be used inside the client
+definition.
+
+|proxyPort |`null` |Producer |*Camel 2.16*: Specify a proxy port to be used inside the client
+definition.
+|=======================================================================
+
+Required CW component options
+
+You have to provide the amazonCwClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/cloudwatch/[Amazon's CloudWatch].
+
+[[AWS-CW-Usage]]
+Usage
+^^^^^
+
+[[AWS-CW-MessageheadersevaluatedbytheCWproducer]]
+Message headers evaluated by the CW producer
+++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsCwMetricName` |`String` |The Amazon CW metric name.
+
+|`CamelAwsCwMetricValue` |`Double` |The Amazon CW metric value.
+
+|`CamelAwsCwMetricUnit` |`String` |The Amazon CW metric unit.
+
+|`CamelAwsCwMetricNamespace` |`String` |The Amazon CW metric namespace.
+
+|`CamelAwsCwMetricTimestamp` |`Date` |The Amazon CW metric timestamp.
+
+|`CamelAwsCwMetricDimensionName` |`String` |*Camel 2.12:* The Amazon CW metric dimension name.
+
+|`CamelAwsCwMetricDimensionValue` |`String` |*Camel 2.12:* The Amazon CW metric dimension value.
+
+|`CamelAwsCwMetricDimensions` |`Map<String, String>` |*Camel 2.12:* A map of dimension names and dimension values.
+|=======================================================================
+
+[[AWS-CW-AdvancedAmazonCloudWatchconfiguration]]
+Advanced AmazonCloudWatch configuration
++++++++++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonCloudWatch` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+-------------------------------------------------
+from("direct:start")
+.to("aws-cw://namepsace?amazonCwClient=#client");
+-------------------------------------------------
+
+The `#client` refers to a `AmazonCloudWatch` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+------------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonCloudWatch client = new AmazonCloudWatchClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+------------------------------------------------------------------------------------------
+
+[[AWS-CW-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.10 or higher).
+
+[[AWS-CW-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-ddb.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-ddb.adoc b/components/camel-aws/src/main/docs/aws-ddb.adoc
new file mode 100644
index 0000000..ff3a1f1
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-ddb.adoc
@@ -0,0 +1,348 @@
+[[AWS-DDB-DDBComponent]]
+DDB Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.10*
+
+The DynamoDB component supports storing and retrieving data from/to
+http://aws.amazon.com/dynamodb[Amazon's DynamoDB] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon DynamoDB. More information are available at
+http://aws.amazon.com/dynamodb[Amazon DynamoDB].
+
+[[AWS-DDB-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------
+aws-ddb://domainName[?options]
+------------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-DDB-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonDDBClient |`null` |Producer |Reference to a `com.amazonaws.services.dynamodb.AmazonDynamoDB` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|amazonDdbEndpoint |`null` |Producer |The region with which the AWS-DDB client wants to work with.
+
+|tableName |`null` |Producer |The name of the table currently worked with.
+
+|readCapacity |`0` |Producer |The provisioned throughput to reserve for reading resources from your
+table
+
+|writeCapacity |`0` |Producer |The provisioned throughput to reserved for writing resources to your
+table
+
+|consistentRead |`false` |Producer |Determines whether or not strong consistency should be enforced when
+data is read.
+
+|operation |`PutAttributes` |Producer |Valid values are BatchGetItems, DeleteItem, DeleteTable, DescribeTable,
+GetItem, PutItem, Query, Scan, UpdateItem, UpdateTable.
+
+|proxyHost |`null` |Producer |*Camel 2.16*: Specify a proxy host to be used inside the client
+definition.
+
+|proxyPort |`null` |Producer |*Camel 2.16*: Specify a proxy port to be used inside the client
+definition.
+|=======================================================================
+
+Required DDB component options
+
+You have to provide the amazonDDBClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/dynamodb[Amazon's DynamoDB].
+
+[[AWS-DDB-Usage]]
+Usage
+^^^^^
+
+[[AWS-DDB-MessageheadersevaluatedbytheDDBproducer]]
+Message headers evaluated by the DDB producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbBatchItems` |`Map<String, KeysAndAttributes>` |A map of the table name and corresponding items to get by primary key.
+
+|`CamelAwsDdbTableName` |`String` |Table Name for this operation.
+
+|`CamelAwsDdbKey` |`Key` |The primary key that uniquely identifies each item in a table. *From Camel 2.16.0 the type of this header is Map<String,
+AttributeValue> and not Key*
+
+|`CamelAwsDdbReturnValues` |`String` |Use this parameter if you want to get the attribute name-value pairs
+before or after they are modified(NONE, ALL_OLD, UPDATED_OLD, ALL_NEW,
+UPDATED_NEW).
+
+|`CamelAwsDdbUpdateCondition` |`Map<String, ExpectedAttributeValue>` |Designates an attribute for a conditional modification.
+
+|`CamelAwsDdbAttributeNames` |`Collection<String>` |If attribute names are not specified then all attributes will be
+returned.
+
+|`CamelAwsDdbConsistentRead` |`Boolean` |If set to true, then a consistent read is issued, otherwise eventually
+consistent is used.
+
+|`CamelAwsDdbItem` |`Map<String, AttributeValue>` |A map of the attributes for the item, and must include the primary key
+values that define the item.
+
+|`CamelAwsDdbExactCount` |`Boolean` |If set to true, Amazon DynamoDB returns a total number of items that
+match the query parameters, instead of a list of the matching items and
+their attributes. *From Camel 2.16.0 this header doesn't exist anymore.*
+
+|`CamelAwsDdbKeyConditions` |`Map<String, Condition>` |*From Camel 2.16.0*. This header specify the selection criteria for the
+query, and merge together the two old headers *CamelAwsDdbHashKeyValue*
+and *CamelAwsDdbScanRangeKeyCondition*
+
+|`CamelAwsDdbStartKey` |`Key` |Primary key of the item from which to continue an earlier query.
+
+|`CamelAwsDdbHashKeyValue` |`AttributeValue` |Value of the hash component of the composite primary key.
+*From Camel 2.16.0 this header doesn't exist anymore.*
+
+|`CamelAwsDdbLimit` |`Integer` |The maximum number of items to return.
+
+|`CamelAwsDdbScanRangeKeyCondition` |`Condition` |A container for the attribute values and comparison operators to use for
+the query.*From Camel 2.16.0 this header doesn't exist anymore.*
+
+|`CamelAwsDdbScanIndexForward` |`Boolean` |Specifies forward or backward traversal of the index.
+
+|`CamelAwsDdbScanFilter` |`Map<String, Condition>` |Evaluates the scan results and returns only the desired values.
+
+|`CamelAwsDdbUpdateValues` |`Map<String, AttributeValueUpdate>` |Map of attribute name to the new value and action for the update.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringBatchGetItemsoperation]]
+Message headers set during BatchGetItems operation
+++++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbBatchResponse` |`Map<String,BatchResponse>` |Table names and the respective item attributes from the tables.
+
+|`CamelAwsDdbUnprocessedKeys` |`Map<String,KeysAndAttributes>` |Contains a map of tables and their respective keys that were not
+processed with the current response.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringDeleteItemoperation]]
+Message headers set during DeleteItem operation
++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringDeleteTableoperation]]
+Message headers set during DeleteTable operation
+++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbProvisionedThroughput`| |
+
+|`ProvisionedThroughputDescription` | |The value of the ProvisionedThroughput property for this table
+
+|`CamelAwsDdbCreationDate` |`Date` |Creation DateTime of this table.
+
+|`CamelAwsDdbTableItemCount` |`Long` |Item count for this table.
+
+|`CamelAwsDdbKeySchema` |`KeySchema` |The KeySchema that identifies the primary key for this table.
+*From Camel 2.16.0 the type of this header is List<KeySchemaElement> and not KeySchema*
+
+|`CamelAwsDdbTableName` |`String` |The table name.
+
+|`CamelAwsDdbTableSize` |`Long` |The table size in bytes.
+
+|`CamelAwsDdbTableStatus` |`String` |The status of the table: CREATING, UPDATING, DELETING, ACTIVE
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringDescribeTableoperation]]
+Message headers set during DescribeTable operation
+++++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbProvisionedThroughput` |{{ProvisionedThroughputDescription}} |The value of the ProvisionedThroughput property for this table
+
+|`CamelAwsDdbCreationDate` |`Date` |Creation DateTime of this table.
+
+|`CamelAwsDdbTableItemCount` |`Long` |Item count for this table.
+
+|`CamelAwsDdbKeySchema` |{{KeySchema}} |The KeySchema that identifies the primary key for this table.
+*From Camel 2.16.0 the type of this header is List<KeySchemaElement> and
+not KeySchema*
+
+|`CamelAwsDdbTableName` |`String` |The table name.
+
+|`CamelAwsDdbTableSize` |`Long` |The table size in bytes.
+
+|`CamelAwsDdbTableStatus` |`String` |The status of the table: CREATING, UPDATING, DELETING, ACTIVE
+
+|`CamelAwsDdbReadCapacity` |`Long` |ReadCapacityUnits property of this table.
+
+|`CamelAwsDdbWriteCapacity` |`Long` |WriteCapacityUnits property of this table.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringGetItemoperation]]
+Message headers set during GetItem operation
+++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringPutItemoperation]]
+Message headers set during PutItem operation
+++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringQueryoperation]]
+Message headers set during Query operation
+++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbItems` |`List<java.util.Map<String,AttributeValue>>` |The list of attributes returned by the operation.
+
+|`CamelAwsDdbLastEvaluatedKey` |`Key` |Primary key of the item where the query operation stopped, inclusive of
+the previous result set.
+
+|`CamelAwsDdbConsumedCapacity` |`Double` |The number of Capacity Units of the provisioned throughput of the table
+consumed during the operation.
+
+|`CamelAwsDdbCount` |`Integer` |Number of items in the response.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringScanoperation]]
+Message headers set during Scan operation
++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbItems` |`List<java.util.Map<String,AttributeValue>>` |The list of attributes returned by the operation.
+
+|`CamelAwsDdbLastEvaluatedKey` |`Key` |Primary key of the item where the query operation stopped, inclusive of
+the previous result set.
+
+|`CamelAwsDdbConsumedCapacity` |`Double` |The number of Capacity Units of the provisioned throughput of the table
+consumed during the operation.
+
+|`CamelAwsDdbCount` |`Integer` |Number of items in the response.
+
+|`CamelAwsDdbScannedCount` |`Integer` |Number of items in the complete scan before any filters are applied.
+|=======================================================================
+
+[[AWS-DDB-MessageheaderssetduringUpdateItemoperation]]
+Message headers set during UpdateItem operation
++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+
+|=======================================================================
+
+[[AWS-DDB-AdvancedAmazonDynamoDBconfiguration]]
+Advanced AmazonDynamoDB configuration
++++++++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonDynamoDB` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+----------------------------------------------------
+from("direct:start")
+.to("aws-ddb://domainName?amazonDDBClient=#client");
+----------------------------------------------------
+
+The `#client` refers to a `AmazonDynamoDB` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonDynamoDB client = new AmazonDynamoDBClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+[[AWS-DDB-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.10 or higher).
+
+[[AWS-DDB-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-ddbstream.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-ddbstream.adoc b/components/camel-aws/src/main/docs/aws-ddbstream.adoc
new file mode 100644
index 0000000..2a349e4
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-ddbstream.adoc
@@ -0,0 +1,171 @@
+[[AWS-DDBSTREAM-DynamoDBStreamComponent]]
+DynamoDB Stream Component
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.7*
+
+The DynamoDB Stream component supports receiving messages from
+Amazon DynamoDB Stream service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon DynamoDB Streams. More information are available
+at http://aws.amazon.com/dynamodb/[AWS DynamoDB]
+
+[[AWS-DDBSTREAM-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------------
+aws-ddbstream://table-name[?options]
+------------------------------------
+
+The stream needs to be created prior to it being used. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-DDBSTREAM-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonDynamoDbStreamsClient |`null` |Consumer |Reference to a `com.amazonaws.services.kinesis.AmazonDynamoDBStreams` in
+the link:registry.html[Registry].
+
+|maxMessagesPerPoll |`100` |Consumer |Maximum results that will be returned in each poll to the AWS API, Given
+that the shard iterator is unique to the consumer, changing it shouldn't
+effect other consumers.
+
+|iteratorType |`LATEST` |Consumer |One of `trim_horizon`, `latest`, `after_sequence_number`, or
+`at_sequence_number`. See
+http://docs.aws.amazon.com/dynamodbstreams/latest/APIReference/API_GetShardIterator.html[http://docs.aws.amazon.com/dynamodbstreams/latest/APIReference/API_GetShardIterator.html]
+for descriptions of these two iterator types.
+
+|sequenceNumberProvider |null |Consumer |Either a bean reference to an implementation of
+`org.apache.camel.component.aws.ddbstream.SequenceNumberProvider` or a
+literal string representing a sequence number. The role of this is to
+determine where in the stream to start when using one of
+the `after_sequence_number`, or `at_sequence_number` iterator types.
+|=======================================================================
+
+Required DynampDBStream component options
+
+You have to provide the amazonDynamoDbStreamsClient in the
+link:registry.html[Registry] with proxies and relevant credentials
+configured.
+
+[[AWS-DDBSTREAM-SequenceNumbers]]
+Sequence Numbers
+^^^^^^^^^^^^^^^^
+
+You can provide a literal string as the sequence number or provide a
+bean in the registry. An example of using the bean would be to save your
+current position in the change feed and restore it on Camel startup.
+
+It is an error to provide a sequence number that is greater than the
+largest sequence number in the describe-streams result, as this will
+lead to the AWS call returning an HTTP 400.
+
+[[AWS-DDBSTREAM-BatchConsumer]]
+Batch Consumer
+^^^^^^^^^^^^^^
+
+This component implements the link:batch-consumer.html[Batch Consumer].
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the link:aggregator.html[Aggregator]
+aggregate this number of messages.
+
+[[AWS-DDBSTREAM-Usage]]
+Usage
+^^^^^
+
+[[AWS-DDBSTREAM-AmazonDynamoDBStreamsClientconfiguration]]
+AmazonDynamoDBStreamsClient configuration
++++++++++++++++++++++++++++++++++++++++++
+
+You will need to create an instance of AmazonDynamoDBStreamsClient and
+bind it to the registry
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------------
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+Region region = Region.getRegion(Regions.fromName(region));
+region.createClient(AmazonDynamoDBStreamsClient.class, null, clientConfiguration);
+// the 'null' here is the AWSCredentialsProvider which defaults to an instance of DefaultAWSCredentialsProviderChain
+
+registry.bind("kinesisClient", client);
+--------------------------------------------------------------------------------------------------------------------
+
+[[AWS-DDBSTREAM-ProvidingAWSCredentials]]
+Providing AWS Credentials
++++++++++++++++++++++++++
+
+It is recommended that the credentials are obtained by using the
+http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
+that is the default when creating a new ClientConfiguration instance,
+however, a
+different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
+can be specified when calling createClient(...).
+
+[[AWS-DDBSTREAM-CopingwithDowntime]]
+Coping with Downtime
+^^^^^^^^^^^^^^^^^^^^
+
+[[AWS-DDBSTREAM-AWSDynamoDBStreamsoutageoflessthan24hours]]
+AWS DynamoDB Streams outage of less than 24 hours
++++++++++++++++++++++++++++++++++++++++++++++++++
+
+The consumer will resume from the last seen sequence number (as
+implemented
+for https://issues.apache.org/jira/browse/CAMEL-9515[CAMEL-9515]), so
+you should receive a flood of events in quick succession, as long as the
+outage did not also include DynamoDB itself.
+
+[[AWS-DDBSTREAM-AWSDynamoDBStreamsoutageofmorethan24hours]]
+AWS DynamoDB Streams outage of more than 24 hours
++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Given that AWS only retain 24 hours worth of changes, you will have
+missed change events no matter what mitigations are in place.
+
+[[AWS-DDBSTREAM-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.7 or higher).
+
+[[AWS-DDBSTREAM-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component] +
+ +
+
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-ec2.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-ec2.adoc b/components/camel-aws/src/main/docs/aws-ec2.adoc
new file mode 100644
index 0000000..3357440
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-ec2.adoc
@@ -0,0 +1,122 @@
+[[AWS-EC2-EC2Component]]
+EC2 Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.16*
+
+The EC2 component supports create, run, start, stop and terminate
+https://aws.amazon.com/it/ec2/[AWS EC2] instances.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon EC2. More information are available at
+https://aws.amazon.com/it/ec2/[Amazon EC2].
+
+[[AWS-EC2-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+-------------------------
+aws-ec2://label[?options]
+-------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-EC2-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonEc2Client |`null` |Producer |Reference to a com.amazonaws.services.ec2.AmazonEC2Client in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|amazonEc2Endpoint |`null` |Producer |The region with which the AWS-EC2 client wants to work with.
+
+|operation |`null` |Producer |Valid values are createAndRunInstances, startInstances, stopInstances,
+terminateInstances, describeInstances, describeInstancesStatus,
+rebootInstances, monitorInstances and unmonitorInstances
+
+|proxyHost |`null` |Producer |*Camel 2.16*: Specify a proxy host to be used inside the client
+definition.
+
+|proxyPort |`null` |Producer |*Camel 2.16*: Specify a proxy port to be used inside the client
+definition.
+|=======================================================================
+
+Required EC2 component options
+
+You have to provide the amazonEc2Client in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the https://aws.amazon.com/it/ec2/[Amazon EC2] service.
+
+[[AWS-EC2-Usage]]
+Usage
+^^^^^
+
+[[AWS-EC2-MessageheadersevaluatedbytheEC2producer]]
+Message headers evaluated by the EC2 producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsEC2ImageId` |`String` |An image ID of the AWS marketplace
+
+|`CamelAwsEC2InstanceType` |com.amazonaws.services.ec2.model.InstanceType |The instance type we want to create and run
+
+|`CamelAwsEC2Operation` |`String` |The operation we want to perform
+
+|`CamelAwsEC2InstanceMinCount` |`Int` |The mininum number of instances we want to run.
+
+|`CamelAwsEC2InstanceMaxCount` |`Int` |The maximum number of instances we want to run.
+
+|`CamelAwsEC2InstanceMonitoring` |Boolean |Define if we want the running instances to be monitored
+
+|`CamelAwsEC2InstanceEbsOptimized` |`Boolean` |Define if the creating instance is optimized for EBS I/O.
+
+|`CamelAwsEC2InstanceSecurityGroups` |Collection |The security groups to associate to the instances
+
+|`CamelAwsEC2InstancesIds` |`Collection` |A collection of instances IDS to execute start, stop, describe and
+terminate operations on.
+|=======================================================================
+
+Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.16 or higher).
+
+[[AWS-EC2-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-kinesis.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-kinesis.adoc b/components/camel-aws/src/main/docs/aws-kinesis.adoc
new file mode 100644
index 0000000..bd38602
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-kinesis.adoc
@@ -0,0 +1,147 @@
+[[AWS-KINESIS-KinesisComponent]]
+Kinesis Component
+~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.7*
+
+The Kinesis component supports receiving messages from Amazon Kinesis
+service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon Kinesis. More information are available
+at http://aws.amazon.com/kinesis/[AWS Kinesis]
+
+[[AWS-KINESIS-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+-----------------------------------
+aws-kinesis://stream-name[?options]
+-----------------------------------
+
+The stream needs to be created prior to it being used. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-KINESIS-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonKinesisClient |`null` |Consumer |Reference to a `com.amazonaws.services.kinesis.AmazonKinesisClient` in
+the link:registry.html[Registry].
+
+|maxMessagesPerPoll |`100` |Consumer |Maximum results that will be returned in each poll to the AWS API, Given
+that the shard iterator is unique to the consumer, changing it shouldn't
+effect other consumers.
+
+|iteratorType |`TRIM_HORIZON` |Consumer |One of trim_horizon or latest. See
+http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html[http://docs.aws.amazon.com/kinesis/latest/APIReference/API_GetShardIterator.html]
+for descriptions of these two iterator types.
+|=======================================================================
+
+Required Kinesis component options
+
+You have to provide the amazonKinesisClient in the
+link:registry.html[Registry] with proxies and relevant credentials
+configured.
+
+[[AWS-KINESIS-BatchConsumer]]
+Batch Consumer
+^^^^^^^^^^^^^^
+
+This component implements the link:batch-consumer.html[Batch Consumer].
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the link:aggregator.html[Aggregator]
+aggregate this number of messages.
+
+[[AWS-KINESIS-Usage]]
+Usage
+^^^^^
+
+[[AWS-KINESIS-MessageheaderssetbytheKinesisconsumer]]
+Message headers set by the Kinesis consumer
++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsKinesisSequenceNumber` |`String` |The sequence number of the record. This is represented as a String as it
+size is not defined by the API. If it is to be used as a numerical type
+then use
+
+|`CamelAwsKinesisApproximateArrivalTimestamp` |`String` |The time AWS assigned as the arrival time of the record.
+
+|`CamelAwsKinesisPartitionKey` |`String` |Identifies which shard in the stream the data record is assigned to.
+|=======================================================================
+
+[[AWS-KINESIS-AmazonKinesisconfiguration]]
+AmazonKinesis configuration
++++++++++++++++++++++++++++
+
+You will need to create an instance of AmazonDynamoDBStreamsClient and
+bind it to the registry
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------------
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+Region region = Region.getRegion(Regions.fromName(region));
+region.createClient(AmazonDynamoDBStreamsClient.class, null, clientConfiguration);
+// the 'null' here is the AWSCredentialsProvider which defaults to an instance of DefaultAWSCredentialsProviderChain
+
+registry.bind("kinesisClient", client);
+--------------------------------------------------------------------------------------------------------------------
+
+[[AWS-KINESIS-ProvidingAWSCredentials]]
+Providing AWS Credentials
++++++++++++++++++++++++++
+
+It is recommended that the credentials are obtained by using the
+http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
+that is the default when creating a new ClientConfiguration instance,
+however, a
+different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
+can be specified when calling createClient(...).
+
+[[AWS-KINESIS-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.7 or higher).
+
+[[AWS-KINESIS-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-s3.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-s3.adoc b/components/camel-aws/src/main/docs/aws-s3.adoc
new file mode 100644
index 0000000..d232535
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-s3.adoc
@@ -0,0 +1,264 @@
+[[AWS-S3-S3Component]]
+S3 Component
+~~~~~~~~~~~~
+
+*Available as of Camel 2.8*
+
+The S3 component supports storing and retrieving objetcs from/to
+http://aws.amazon.com/s3[Amazon's S3] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon S3. More information are available at
+http://aws.amazon.com/s3[Amazon S3].
+
+[[AWS-S3-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------
+aws-s3://bucket-name[?options]
+------------------------------
+
+The bucket will be created if it don't already exists. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-S3-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonS3Client |`null` |Shared |Reference to a `com.amazonaws.services.sqs.AmazonS3` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Shared |Amazon AWS Access Key
+
+|secretKey |`null` |Shared |Amazon AWS Secret Key
+
+|amazonS3Endpoint |`null` |Shared |The region with which the AWS-S3 client wants to work with.
+
+|region |`null` |Producer |The region who the bucket is located. This option is used in the
+`com.amazonaws.services.s3.model.CreateBucketRequest`.
+
+|deleteAfterRead |`true` |Consumer |Delete objects from S3 after it has been retrieved.
+
+|deleteAfterWrite |`false` |Producer |*Camel 2.11.0* Delete file object after the S3 file has been uploaded
+
+|maxMessagesPerPoll |10 |Consumer |The maximum number of objects which can be retrieved in one poll. Used
+in in the `com.amazonaws.services.s3.model.ListObjectsRequest`.
+
+|policy |`null` |Shared |*Camel 2.8.4*: The policy for this queue to set in the
+`com.amazonaws.services.s3.AmazonS3#setBucketPolicy()` method.
+
+|storageClass |`null` |Producer |*Camel 2.8.4*: The storage class to set in the
+`com.amazonaws.services.s3.model.PutObjectRequest` request.
+
+|prefix |`null` |Consumer |*Camel 2.10.1*: The prefix which is used in the
+`com.amazonaws.services.s3.model.ListObjectsRequest` to only consume
+objects we are interested in.
+
+|multiPartUpload |`false` |Producer |*Camel 2.15.0*: If it is true, camel will upload the file with multi
+part format, the part size is decided by the option of `partSize`
+
+|partSize |`25 * 1024 * 1024` |Producer |*Camel 2.15.0*: Setup the partSize which is used in multi part upload,
+the default size is 25M.
+
+|serverSideEncryption |null |Producer |*Camel 2.16:* Sets the server-side encryption algorithm when encrypting
+the object using AWS-managed keys. For example use AES256.
+
+|proxyHost |null |Producer |*Camel 2.16*: Specify a proxy host to be used inside the client
+definition.
+
+|proxyPort |null |Producer |*Camel 2.16*: Specify a proxy port to be used inside the client
+definition.
+|=======================================================================
+
+Required S3 component options
+
+You have to provide the amazonS3Client in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/s3[Amazon's S3].
+
+[[AWS-S3-BatchConsumer]]
+Batch Consumer
+^^^^^^^^^^^^^^
+
+This component implements the link:batch-consumer.html[Batch Consumer].
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the link:aggregator.html[Aggregator]
+aggregate this number of messages.
+
+[[AWS-S3-Usage]]
+Usage
+^^^^^
+
+[[AWS-S3-MessageheadersevaluatedbytheS3producer]]
+Message headers evaluated by the S3 producer
+++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsS3Key` |`String` |The key under which this object will be stored.
+
+|`CamelAwsS3ContentLength` |`Long` |The content length of this object.
+
+|`CamelAwsS3ContentType` |`String` |The content type of this object.
+
+|`CamelAwsS3ContentControl` |`String` |*Camel 2.8.2:* The content control of this object.
+
+|`CamelAwsS3ContentDisposition` |`String` |*Camel 2.8.2:* The content disposition of this object.
+
+|`CamelAwsS3ContentEncoding` |`String` |*Camel 2.8.2:* The content encoding of this object.
+
+|`CamelAwsS3ContentMD5` |`String` |*Camel 2.8.2:* The md5 checksum of this object.
+
+|`CamelAwsS3LastModified` |`java.util.Date` |*Camel 2.8.2:* The last modified timestamp of this object.
+
+|`CamelAwsS3StorageClass` |`String` |*Camel 2.8.4:* The storage class of this object.
+
+|`CamelAwsS3CannedAcl` |`String` |*Camel 2.11.0:* The canned acl that will be applied to the object. see
+`com.amazonaws.services.s3.model.CannedAccessControlList` for allowed
+values.
+
+|`CamelAwsS3Acl` |`com.amazonaws.services.s3.model.AccessControlList` |*Camel 2.11.0:* a well constructed Amazon S3 Access Control List object.
+see `com.amazonaws.services.s3.model.AccessControlList` for more details
+
+|`CamelAwsS3Headers` |`Map<String,String>` |*Camel 2.15.0*: support to get or set custom objectMetadata headers.
+
+|CamelAwsS3ServerSideEncryption |String |*Camel 2.16:* Sets the server-side encryption algorithm when encrypting
+the object using AWS-managed keys. For example use AES256.
+|=======================================================================
+
+[[AWS-S3-MessageheaderssetbytheS3producer]]
+Message headers set by the S3 producer
+++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+|`CamelAwsS3ETag` |`String` |The ETag value for the newly uploaded object.
+
+|`CamelAwsS3VersionId` |`String` |The *optional* version ID of the newly uploaded object.
+
+|=======================================================================
+
+[[AWS-S3-MessageheaderssetbytheS3consumer]]
+Message headers set by the S3 consumer
+++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsS3Key` |`String` |The key under which this object is stored.
+
+|`CamelAwsS3BucketName` |`String` |The name of the bucket in which this object is contained.
+
+|`CamelAwsS3ETag` |`String` |The hex encoded 128-bit MD5 digest of the associated object according to
+RFC 1864. This data is used as an integrity check to verify that the
+data received by the caller is the same data that was sent by Amazon S3.
+
+|`CamelAwsS3LastModified` |`Date` |The value of the Last-Modified header, indicating the date and time at
+which Amazon S3 last recorded a modification to the associated object.
+
+|`CamelAwsS3VersionId` |`String` |The version ID of the associated Amazon S3 object if available. Version
+IDs are only assigned to objects when an object is uploaded to an Amazon
+S3 bucket that has object versioning enabled.
+
+|`CamelAwsS3ContentType` |`String` |The Content-Type HTTP header, which indicates the type of content stored
+in the associated object. The value of this header is a standard MIME
+type.
+
+|`CamelAwsS3ContentMD5` |`String` |The base64 encoded 128-bit MD5 digest of the associated object (content
+- not including headers) according to RFC 1864. This data is used as a
+message integrity check to verify that the data received by Amazon S3 is
+the same data that the caller sent.
+
+|`CamelAwsS3ContentLength` |`Long` |The Content-Length HTTP header indicating the size of the associated
+object in bytes.
+
+|`CamelAwsS3ContentEncoding` |`String` |The *optional* Content-Encoding HTTP header specifying what content
+encodings have been applied to the object and what decoding mechanisms
+must be applied in order to obtain the media-type referenced by the
+Content-Type field.
+
+|`CamelAwsS3ContentDisposition` |`String` |The *optional* Content-Disposition HTTP header, which specifies
+presentational information such as the recommended filename for the
+object to be saved as.
+
+|`CamelAwsS3ContentControl` |`String` |The *optional* Cache-Control HTTP header which allows the user to
+specify caching behavior along the HTTP request/reply chain.
+
+|CamelAwsS3ServerSideEncryption |String |*Camel 2.16:* The server-side encryption algorithm when encrypting the
+object using AWS-managed keys.
+|=======================================================================
+
+[[AWS-S3-AdvancedAmazonS3configuration]]
+Advanced AmazonS3 configuration
++++++++++++++++++++++++++++++++
+
+If your Camel Application is running behind a firewall or if you need to
+have more control over the `AmazonS3` instance configuration, you can
+create your own instance:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonS3 client = new AmazonS3Client(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+and refer to it in your Camel aws-s3 component configuration:
+
+[source,java]
+--------------------------------------------------------------------------------
+from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5")
+.to("mock:result");
+--------------------------------------------------------------------------------
+
+[[AWS-S3-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.8 or higher).
+
+[[AWS-S3-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-sdb.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-sdb.adoc b/components/camel-aws/src/main/docs/aws-sdb.adoc
new file mode 100644
index 0000000..6752ce8
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-sdb.adoc
@@ -0,0 +1,236 @@
+[[AWS-SDB-SDBComponent]]
+SDB Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.8.4*
+
+The sdb component supports storing and retrieving data from/to
+http://aws.amazon.com/sdb[Amazon's SDB] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SDB. More information are available at
+http://aws.amazon.com/sdb[Amazon SDB].
+
+[[AWS-SDB-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------
+aws-sdb://domainName[?options]
+------------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-SDB-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonSDBClient |`null` |Producer |Reference to a `com.amazonaws.services.simpledb.AmazonSimpleDB` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|amazonSdbEndpoint |`null` |Producer |The region with which the AWS-SDB client wants to work with.
+
+|domainName |`null` |Producer |The name of the domain currently worked with.
+
+|maxNumberOfDomains |`100` |Producer |The maximum number of domain names you want returned. The range is 1 *
+to 100.
+
+|consistentRead |`false` |Producer |Determines whether or not strong consistency should be enforced when
+data is read.
+
+|operation |`PutAttributes` |Producer |Valid values are BatchDeleteAttributes, BatchPutAttributes,
+DeleteAttributes, DeleteDomain, DomainMetadata, GetAttributes,
+ListDomains, PutAttributes, Select.
+
+|proxyHost |`null` |Producer |*Camel 2.16*: Specify a proxy host to be used inside the client
+definition.
+
+|proxyPort |`null` |Producer |*Camel 2.16*: Specify a proxy port to be used inside the client
+definition.
+|=======================================================================
+
+Required SDB component options
+
+You have to provide the amazonSDBClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/sdb[Amazon's SDB].
+
+[[AWS-SDB-Usage]]
+Usage
+^^^^^
+
+[[AWS-SDB-MessageheadersevaluatedbytheSDBproducer]]
+Message headers evaluated by the SDB producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbAttributes` |`Collection<Attribute>` |List of attributes to be acted upon.
+
+|`CamelAwsSdbAttributeNames` |`Collection<String>` |The names of the attributes to be retrieved.
+
+|`CamelAwsSdbConsistentRead` |`Boolean` |Determines whether or not strong consistency should be enforced when
+data is read.
+
+|`CamelAwsSdbDeletableItems` |`Collection<DeletableItem>` |A list of items on which to perform the delete operation in a batch.
+
+|`CamelAwsSdbDomainName` |`String` |The name of the domain currently worked with.
+
+|`CamelAwsSdbItemName` |`String` |The unique key for this item
+
+|`CamelAwsSdbMaxNumberOfDomains` |`Integer` |The maximum number of domain names you want returned. The range is 1 *
+to 100.
+
+|`CamelAwsSdbNextToken` |`String` |A string specifying where to start the next list of domain/item names.
+
+|`CamelAwsSdbOperation` |`String` |To override the operation from the URI options.
+
+|`CamelAwsSdbReplaceableAttributes` |`Collection<ReplaceableAttribute>` |List of attributes to put in an Item.
+
+|`CamelAwsSdbReplaceableItems` |`Collection<ReplaceableItem>` |A list of items to put in a Domain.
+
+|`CamelAwsSdbSelectExpression` |`String` |The expression used to query the domain.
+
+|`CamelAwsSdbUpdateCondition` |`UpdateCondition` |The update condition which, if specified, determines whether the
+specified attributes will be updated/deleted or not.
+|=======================================================================
+
+[[AWS-SDB-MessageheaderssetduringDomainMetadataoperation]]
+Message headers set during DomainMetadata operation
++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbTimestamp` |`Integer` |The data and time when metadata was calculated, in Epoch (UNIX) seconds.
+
+|`CamelAwsSdbItemCount` |`Integer` |The number of all items in the domain.
+
+|`CamelAwsSdbAttributeNameCount` |`Integer` |The number of unique attribute names in the domain.
+
+|`CamelAwsSdbAttributeValueCount` |`Integer` |The number of all attribute name/value pairs in the domain.
+
+|`CamelAwsSdbAttributeNameSize` |`Long` |The total size of all unique attribute names in the domain, in bytes.
+
+|`CamelAwsSdbAttributeValueSize` |`Long` |The total size of all attribute values in the domain, in bytes.
+
+|`CamelAwsSdbItemNameSize` |`Long` |The total size of all item names in the domain, in bytes.
+|=======================================================================
+
+[[AWS-SDB-MessageheaderssetduringGetAttributesoperation]]
+Message headers set during GetAttributes operation
+++++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbAttributes` |`List<Attribute>` |The list of attributes returned by the operation.
+|=======================================================================
+
+[[AWS-SDB-MessageheaderssetduringListDomainsoperation]]
+Message headers set during ListDomains operation
+++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbDomainNames` |`List<String>` |A list of domain names that match the expression.
+
+|`CamelAwsSdbNextToken` |`String` |An opaque token indicating that there are more domains than the
+specified MaxNumberOfDomains still available.
+|=======================================================================
+
+[[AWS-SDB-MessageheaderssetduringSelectoperation]]
+Message headers set during Select operation
++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbItems` |`List<Item>` |A list of items that match the select expression.
+
+|`CamelAwsSdbNextToken` |`String` |An opaque token indicating that more items than MaxNumberOfItems were
+matched, the response size exceeded 1 megabyte, or the execution time
+exceeded 5 seconds.
+|=======================================================================
+
+[[AWS-SDB-AdvancedAmazonSimpleDBconfiguration]]
+Advanced AmazonSimpleDB configuration
++++++++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonSimpleDB` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+----------------------------------------------------
+from("direct:start")
+.to("aws-sdb://domainName?amazonSDBClient=#client");
+----------------------------------------------------
+
+The `#client` refers to a `AmazonSimpleDB` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonSimpleDB client = new AmazonSimpleDBClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+[[AWS-SDB-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.8.4 or higher).
+
+[[AWS-SDB-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-ses.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-ses.adoc b/components/camel-aws/src/main/docs/aws-ses.adoc
new file mode 100644
index 0000000..fa0df7b
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-ses.adoc
@@ -0,0 +1,167 @@
+[[AWS-SES-SESComponent]]
+SES Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.8.4*
+
+The ses component supports sending emails with
+http://aws.amazon.com/ses[Amazon's SES] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SES. More information are available at
+http://aws.amazon.com/ses[Amazon SES].
+
+[[AWS-SES-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------
+aws-ses://from[?options]
+------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-SES-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonSESClient |`null` |Producer |Reference to a
+`com.amazonaws.services.simpleemail.AmazonSimpleEmailService` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|amazonSESEndpoint |`null` |Producer |The region with which the AWS-SES client wants to work with.
+
+|subject |`null` |Producer |The subject which is used if the message header 'CamelAwsSesSubject' is
+not present.
+
+|to |`null` |Producer |List of destination email address. Can be overriden with 'CamelAwsSesTo'
+header.
+
+|returnPath |`null` |Producer |The email address to which bounce notifications are to be forwarded,
+override it using 'CamelAwsSesReturnPath' header.
+
+|replyToAddresses |`null` |Producer |List of reply-to email address(es) for the message, override it using
+'CamelAwsSesReplyToAddresses' header.
+
+|proxyHost |`null` |Producer |*Camel 2.16*: Specify a proxy host to be used inside the client
+definition.
+
+|proxyPort |`null` |Producer |*Camel 2.16*: Specify a proxy port to be used inside the client
+definition.
+|=======================================================================
+
+Required SES component options
+
+You have to provide the amazonSESClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/ses[Amazon's SES].
+
+[[AWS-SES-Usage]]
+Usage
+^^^^^
+
+[[AWS-SES-MessageheadersevaluatedbytheSESproducer]]
+Message headers evaluated by the SES producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSesFrom` |`String` |The sender's email address.
+
+|`CamelAwsSesTo` |`List<String>` |The destination(s) for this email.
+
+|`CamelAwsSesSubject` |`String` |The subject of the message.
+
+|`CamelAwsSesReplyToAddresses` |`List<String>` |The reply-to email address(es) for the message.
+
+|`CamelAwsSesReturnPath` |`String` |The email address to which bounce notifications are to be forwarded.
+
+|`CamelAwsSesHtmlEmail` |`Boolean` |*Since Camel 2.12.3* The flag to show if email content is HTML.
+|=======================================================================
+
+[[AWS-SES-MessageheaderssetbytheSESproducer]]
+Message headers set by the SES producer
++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSesMessageId` |`String` |The Amazon SES message ID.
+|=======================================================================
+
+[[AWS-SES-AdvancedAmazonSimpleEmailServiceconfiguration]]
+Advanced AmazonSimpleEmailService configuration
++++++++++++++++++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonSimpleEmailService` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+-------------------------------------------------------------
+from("direct:start")
+.to("aws-ses://example@example.com?amazonSESClient=#client");
+-------------------------------------------------------------
+
+The `#client` refers to a `AmazonSimpleEmailService` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+----------------------------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+AmazonSimpleEmailService client = new AmazonSimpleEmailServiceClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+----------------------------------------------------------------------------------------------------------
+
+[[AWS-SES-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.8.4 or higher).
+
+[[AWS-SES-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-sns.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-sns.adoc b/components/camel-aws/src/main/docs/aws-sns.adoc
new file mode 100644
index 0000000..77d4700
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-sns.adoc
@@ -0,0 +1,153 @@
+[[AWS-SNS-SNSComponent]]
+SNS Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.8*
+
+The SNS component allows messages to be sent to an
+http://aws.amazon.com/sns[Amazon Simple Notification] Topic. The
+implementation of the Amazon API is provided by
+the http://aws.amazon.com/sdkforjava/[AWS SDK].
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SNS. More information are available at
+http://aws.amazon.com/sns[Amazon SNS].
+
+[[AWS-SNS-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+-----------------------------
+aws-sns://topicName[?options]
+-----------------------------
+
+The topic will be created if they don't already exists. +
+ You can append query options to the URI in the following format,
+`?options=value&option2=value&...`
+
+[[AWS-SNS-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonSNSClient |`null` |Producer |Reference to a `com.amazonaws.services.sns.AmazonSNS` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Producer |Amazon AWS Access Key
+
+|secretKey |`null` |Producer |Amazon AWS Secret Key
+
+|subject |`null` |Producer |The subject which is used if the message header 'CamelAwsSnsSubject' is
+not present.
+
+|amazonSNSEndpoint |`null` |Producer |The region with which the AWS-SNS client wants to work with.
+
+|policy |`null` |Producer |*Camel 2.8.4*: The policy for this queue to set in the
+`com.amazonaws.services.sns.model.SetTopicAttributesRequest`.
+
+|proxyHost |`null` |Producer |*Camel 2.16*: Specify a proxy host to be used inside the client
+definition.
+
+|proxyPort |`null` |Producer |*Camel 2.16*: Specify a proxy port to be used inside the client
+definition.
+|=======================================================================
+
+Required SNS component options
+
+You have to provide the amazonSNSClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/sns[Amazon's SNS].
+
+[[AWS-SNS-Usage]]
+Usage
+^^^^^
+
+[[AWS-SNS-MessageheadersevaluatedbytheSNSproducer]]
+Message headers evaluated by the SNS producer
++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSnsSubject` |`String` |The Amazon SNS message subject. If not set, the subject from the
+`SnsConfiguration` is used.
+|=======================================================================
+
+[[AWS-SNS-MessageheaderssetbytheSNSproducer]]
+Message headers set by the SNS producer
++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSnsMessageId` |`String` |The Amazon SNS message ID.
+|=======================================================================
+
+[[AWS-SNS-AdvancedAmazonSNSconfiguration]]
+Advanced AmazonSNS configuration
+++++++++++++++++++++++++++++++++
+
+If you need more control over the `AmazonSNS` instance configuration you
+can create your own instance and refer to it from the URI:
+
+[source,java]
+-------------------------------------------------
+from("direct:start")
+.to("aws-sns://MyTopic?amazonSNSClient=#client");
+-------------------------------------------------
+
+The `#client` refers to a `AmazonSNS` in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+AmazonSNS client = new AmazonSNSClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+[[AWS-SNS-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.8 or higher).
+
+[[AWS-SNS-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-sqs.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-sqs.adoc b/components/camel-aws/src/main/docs/aws-sqs.adoc
new file mode 100644
index 0000000..f25256f
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-sqs.adoc
@@ -0,0 +1,258 @@
+[[AWS-SQS-SQSComponent]]
+SQS Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.6*
+
+The sqs component supports sending and receiving messages to
+http://aws.amazon.com/sqs[Amazon's SQS] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SQS. More information are available at
+http://aws.amazon.com/sqs[Amazon SQS].
+
+[[AWS-SQS-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+------------------------------
+aws-sqs://queue-name[?options]
+------------------------------
+
+The queue will be created if they don't already exists. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-SQS-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonSQSClient |`null` |Shared |Reference to a `com.amazonaws.services.sqs.AmazonSQS` in the
+link:registry.html[Registry].
+
+|accessKey |`null` |Shared |Amazon AWS Access Key
+
+|secretKey |`null` |Shared |Amazon AWS Secret Key
+
+|amazonSQSEndpoint |`null` |Shared |The region with which the AWS-SQS client wants to work with. Only works
+if Camel creates the AWS-SQS client, i.e., if you explicitly set
+amazonSQSClient, then this setting will have no effect. You would have
+to set it on the client you create directly
+
+|attributeNames |`null` |Consumer |A list of attributes to set in the
+`com.amazonaws.services.sqs.model.ReceiveMessageRequest`.
+
+|concurrentConsumers |1 |Consumer |(*as of 2.15.0*) Allows you to use multiple threads to poll the sqs
+queue to increase throughput
+
+|defaultVisibilityTimeout |`null` |Shared |The visibility timeout (in seconds) to set in the
+`com.amazonaws.services.sqs.model.CreateQueueRequest`.
+
+|deleteAfterRead |`true` |Consumer |Delete message from SQS after it has been read (and processed by the
+route)
+
+|deleteIfFiltered |`true` |Consumer |*Camel 2.12.2,2.13.0* Whether or not to send the DeleteMessage to the
+SQS queue if an exchange fails to get through a filter. If 'false' and
+exchange does not make it through a Camel filter upstream in the route,
+then don't send DeleteMessage.
+
+|maxMessagesPerPoll |`null` |Consumer |The maximum number of messages which can be received in one poll to set
+in the `com.amazonaws.services.sqs.model.ReceiveMessageRequest`.
+
+|visibilityTimeout |`null` |Shared |The duration (in seconds) that the received messages are hidden from
+subsequent retrieve requests after being retrieved by a ReceiveMessage
+request. This only make sense if its different from
+`defaultVisibilityTimeout`.
+
+|extendMessageVisibility |`false` |Consumer |*Camel 2.10:* If enabled a scheduled background task will keep extending
+the message visibility on SQS. This is needed if it takes a long time to
+process the message. If set to true` visibilityTimeout` must be set. See
+details at
+http://docs.amazonwebservices.com/AWSSimpleQueueService/latest/APIReference/Query_QueryChangeMessageVisibility.html[Amazon
+docs].
+
+|maximumMessageSize |`null` |Shared |*Camel 2.8:* The maximumMessageSize (in bytes) an SQS message can
+contain for this queue, to set in the
+`com.amazonaws.services.sqs.model.SetQueueAttributesRequest`.
+
+|messageRetentionPeriod |`null` |Shared |*Camel 2.8:* The messageRetentionPeriod (in seconds) a message will be
+retained by SQS for this queue, to set in the
+`com.amazonaws.services.sqs.model.SetQueueAttributesRequest`.
+
+|policy |`null` |Shared |*Camel 2.8:* The policy for this queue to set in the
+`com.amazonaws.services.sqs.model.SetQueueAttributesRequest`.
+
+|delaySeconds |`null` |Producer |*Camel 2.9.3:* Delay sending messages for a number of seconds.
+
+|waitTimeSeconds |`0` |Producer |*Camel 2.11:* Duration in seconds (0 to 20) that the ReceiveMessage
+action call will wait until a message is in the queue to include in the
+response.
+
+|receiveMessageWaitTimeSeconds |`0` |Shared |*Camel 2.11:* If you do not specify WaitTimeSeconds in the request, the
+queue attribute ReceiveMessageWaitTimeSeconds is used to determine how
+long to wait.
+
+|queueOwnerAWSAccountId |`null` |Shared |*Camel 2.12:* Specify the queue owner aws account id when you need to
+connect the queue with different account owner.
+
+|region |`null` |Shared |*Camel 2.12.3:* Specify the queue region which could be used with
+`queueOwnerAWSAccountId` to build the service URL.
+
+|redrivePolicy |`null` |Shared |*Camel 2.15*: Specify the policy that send message to DeadLetter queue.
+See detail at
+http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues-redrivepolicy.html[Amazon
+docs].
+
+|proxyHost |`null` |Shared |*Camel 2.16*: Specify a proxy host to be used inside the client
+definition.
+
+|proxyPort |`null` |Shared |*Camel 2.16*: Specify a proxy port to be used inside the client
+definition.
+|=======================================================================
+
+Required SQS component options
+
+You have to provide the amazonSQSClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/sqs[Amazon's SQS].
+
+[[AWS-SQS-BatchConsumer]]
+Batch Consumer
+^^^^^^^^^^^^^^
+
+This component implements the link:batch-consumer.html[Batch Consumer].
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the link:aggregator.html[Aggregator]
+aggregate this number of messages.
+
+[[AWS-SQS-Usage]]
+Usage
+^^^^^
+
+[[AWS-SQS-MessageheaderssetbytheSQSproducer]]
+Message headers set by the SQS producer
++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSqsMD5OfBody` |`String` |The MD5 checksum of the Amazon SQS message.
+
+|`CamelAwsSqsMessageId` |`String` |The Amazon SQS message ID.
+
+|`CamelAwsSqsDelaySeconds` |`Integer` |Since *Camel 2.11*, the delay seconds that the Amazon SQS message can be
+see by others.
+|=======================================================================
+
+[[AWS-SQS-MessageheaderssetbytheSQSconsumer]]
+Message headers set by the SQS consumer
++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSqsMD5OfBody` |`String` |The MD5 checksum of the Amazon SQS message.
+
+|`CamelAwsSqsMessageId` |`String` |The Amazon SQS message ID.
+
+|`CamelAwsSqsReceiptHandle` |`String` |The Amazon SQS message receipt handle.
+
+|`CamelAwsSqsAttributes` |`Map<String, String>` |The Amazon SQS message attributes.
+|=======================================================================
+
+[[AWS-SQS-AdvancedAmazonSQSconfiguration]]
+Advanced AmazonSQS configuration
+++++++++++++++++++++++++++++++++
+
+If your Camel Application is running behind a firewall or if you need to
+have more control over the AmazonSQS instance configuration, you can
+create your own instance:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonSQS client = new AmazonSQSClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+and refer to it in your Camel aws-sqs component configuration:
+
+[source,java]
+---------------------------------------------------------------------------------
+from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
+.to("mock:result");
+---------------------------------------------------------------------------------
+
+[[AWS-SQS-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.6 or higher).
+
+[[AWS-SQS-JMS-styleSelectors]]
+JMS-style Selectors
+^^^^^^^^^^^^^^^^^^^
+
+SQS does not allow selectors, but you can effectively achieve this by
+using the link:message-filter.html[Camel Filter EIP] and setting an
+appropriate `visibilityTimeout`. When SQS dispatches a message, it will
+wait up to the visibility timeout before it will try to dispatch the
+message to a different consumer unless a DeleteMessage is received. By
+default, Camel will always send the DeleteMessage at the end of the
+route, unless the route ended in failure. To achieve appropriate
+filtering and not send the DeleteMessage even on successful completion
+of the route, use a Filter:
+
+[source,java]
+------------------------------------------------------------------------------------------------------
+from("aws-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&deleteIfFiltered=false")
+.filter("${header.login} == true")
+.to("mock:result");
+------------------------------------------------------------------------------------------------------
+
+In the above code, if an exchange doesn't have an appropriate header, it
+will not make it through the filter AND also not be deleted from the SQS
+queue. After 5000 miliseconds, the message will become visible to other
+consumers.
+
+[[AWS-SQS-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:aws.html[AWS Component]
+
[2/6] camel git commit: Move amqp.adoc in his own directory
Posted by ac...@apache.org.
Move amqp.adoc in his own directory
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/46baa9f0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/46baa9f0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/46baa9f0
Branch: refs/heads/master
Commit: 46baa9f09142049c0295c2a68de574c888a55646
Parents: 3861ba0
Author: Andrea Cosentino <an...@gmail.com>
Authored: Tue Jan 26 09:48:34 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Tue Jan 26 11:38:16 2016 +0100
----------------------------------------------------------------------
components/camel-atom/src/main/docs/amqp.adoc | 168 ---------------------
1 file changed, 168 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/46baa9f0/components/camel-atom/src/main/docs/amqp.adoc
----------------------------------------------------------------------
diff --git a/components/camel-atom/src/main/docs/amqp.adoc b/components/camel-atom/src/main/docs/amqp.adoc
deleted file mode 100644
index 5526dce..0000000
--- a/components/camel-atom/src/main/docs/amqp.adoc
+++ /dev/null
@@ -1,168 +0,0 @@
-[[AMQP-AMQP]]
-AMQP
-~~~~
-
-The *amqp:* component supports the http://www.amqp.org/[AMQP 1.0
-protocol] using the JMS Client API of the http://qpid.apache.org/[Qpid]
-project. In case you want to use AMQP 0.9 (in particular RabbitMQ) you
-might also be interested in the link:rabbitmq.html[Camel RabbitMQ]
-component. Please keep in mind that prior to the Camel 2.17.0 AMQP
-component supported AMQP 0.9 and above, however since Camel 2.17.0 it
-supports only AMQP 1.0.
-
-Maven users will need to add the following dependency to their `pom.xml`
-for this component:
-
-[source,xml]
-------------------------------------------------------------------------------------------------
-<dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-amqp</artifactId>
- <version>${camel.version}</version> <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------------------------------------------
-
-[[AMQP-URIformat]]
-URI format
-^^^^^^^^^^
-
-[source,java]
----------------------------------------------
-amqp:[queue:|topic:]destinationName[?options]
----------------------------------------------
-
-[[AMQP-AMQPOptions]]
-AMQP Options
-^^^^^^^^^^^^
-
-You can specify all of the various configuration options of the
-link:../../../../camel-jms/src/main/docs/readme.html[JMS] component after the destination name.
-
-[[AMQP-Usage]]
-Usage
-^^^^^
-
-As AMQP component is inherited from JMS component, the usage of the
-former is almost identical to the latter:
-
-*Using AMQP component*
-
-[source,java]
-------------------------------------
-// Consuming from AMQP queue
-from("amqp:queue:incoming").
- to(...);
-
-// Sending message to the AMQP topic
-from(...).
- to("amqp:topic:notify");
-------------------------------------
-
-[[AMQP-ConfiguringAMQPcomponent]]
-Configuring AMQP component
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-Starting from the Camel 2.16.1 you can also use the
-`AMQPComponent#amqp10Component(String connectionURI)` factory method to
-return the AMQP 1.0 component with the pre-configured topic prefix:
-
-*Creating AMQP 1.0 component*
-
-[source,java]
------------------------------------------------------------------------------------------
- AMQPComponent amqp = AMQPComponent.amqp10Component("amqp://guest:guest@localhost:5672");
------------------------------------------------------------------------------------------
-
-Keep in mind that starting from the
-Camel 2.17 the `AMQPComponent#amqp10Component(String connectionURI)` factory
-method has been deprecated on the behalf of the
-`AMQPComponent#amqpComponent(String connectionURI)`:
-
-*Creating AMQP 1.0 component*
-
-[source,java]
---------------------------------------------------------------------------------------------------------
-AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672");
-
-AMQPComponent authorizedAmqp = AMQPComponent.amqpComponent("amqp://localhost:5672", "user", "password");
---------------------------------------------------------------------------------------------------------
-
-Starting from Camel 2.17, in order to automatically configure the AMQP
-component, you can also add an instance
-of `org.apache.camel.component.amqp.AMQPConnectionDetails` to the
-registry. For example for Spring Boot you just have to define bean:
-
-*AMQP connection details auto-configuration*
-
-[source,java]
--------------------------------------------------------------------------------------
-@Bean
-AMQPConnectionDetails amqpConnection() {
- return new AMQPConnectionDetails("amqp://lcoalhost:5672");
-}
-
-@Bean
-AMQPConnectionDetails securedAmqpConnection() {
- return new AMQPConnectionDetails("amqp://lcoalhost:5672", "username", "password");
-}
--------------------------------------------------------------------------------------
-
-
-
-You can also rely on the link:properties.html[Camel properties] to read
-the AMQP connection details. Factory
-method `AMQPConnectionDetails.discoverAMQP()` attempts to read Camel
-properties in a Kubernetes-like convention, just as demonstrated on the
-snippet below:
-
-
-
-*AMQP connection details auto-configuration*
-
-[source,java]
------------------------------------------------
-export AMQP_SERVICE_HOST = "mybroker.com"
-export AMQP_SERVICE_PORT = "6666"
-export AMQP_SERVICE_USERNAME = "username"
-export AMQP_SERVICE_PASSWORD = "password"
-
-...
-
-@Bean
-AMQPConnectionDetails amqpConnection() {
- return AMQPConnectionDetails.discoverAMQP();
-}
------------------------------------------------
-
-[[AMQP-Usingtopics]]
-Using topics
-^^^^^^^^^^^^
-
-To have using topics working with `camel-amqp` you need to configure the
-component to use `topic://` as topic prefix, as shown below:
-
-[source,java]
--------------------------------------------------------------------------------------------------------------------------------
- <bean id="amqp" class="org.apache.camel.component.amqp.AmqpComponent">
- <property name="connectionFactory">
- <bean class="org.apache.qpid.amqp_1_0.jms.impl.ConnectionFactoryImpl" factory-method="createFromURL">
- <constructor-arg index="0" type="java.lang.String" value="amqp://localhost:5672" />
- <property name="topicPrefix" value="topic://" /> <!-- only necessary when connecting to ActiveMQ over AMQP 1.0 -->
- </bean>
- </property>
- </bean>
--------------------------------------------------------------------------------------------------------------------------------
-
-Keep in mind that both `AMQPComponent#amqpComponent()` methods and
-`AMQPConnectionDetails` pre-configure the component with the topic
-prefix, so you don't have to configure it explicitly.
-
-[[AMQP-SeeAlso]]
-See Also
-^^^^^^^^
-
-* link:configuring-camel.html[Configuring Camel]
-* link:component.html[Component]
-* link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
-
[4/6] camel git commit: Added camel-avro docs to gitbook
Posted by ac...@apache.org.
Added camel-avro docs to gitbook
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3f7da0f8
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3f7da0f8
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3f7da0f8
Branch: refs/heads/master
Commit: 3f7da0f8b1d1b7affeebc4d65e0e5ae111a98d5c
Parents: 1783e69
Author: Andrea Cosentino <an...@gmail.com>
Authored: Tue Jan 26 10:10:51 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Tue Jan 26 11:38:17 2016 +0100
----------------------------------------------------------------------
components/camel-avro/src/main/docs/avro.adoc | 272 +++++++++++++++++++++
docs/user-manual/en/SUMMARY.md | 1 +
2 files changed, 273 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/3f7da0f8/components/camel-avro/src/main/docs/avro.adoc
----------------------------------------------------------------------
diff --git a/components/camel-avro/src/main/docs/avro.adoc b/components/camel-avro/src/main/docs/avro.adoc
new file mode 100644
index 0000000..2bd0f77
--- /dev/null
+++ b/components/camel-avro/src/main/docs/avro.adoc
@@ -0,0 +1,272 @@
+[[avro-AvroComponent]]
+Avro Component
+~~~~~~~~~~~~~~
+
+*Available as of Camel 2.10*
+
+This component provides a dataformat for avro, which allows
+serialization and deserialization of messages using Apache Avro's binary
+dataformat. Moreover, it provides support for Apache Avro's rpc, by
+providing producers and consumers endpoint for using avro over netty or
+http.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-avro</artifactId>
+ <version>x.x.x</version>
+ <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+[[avro-ApacheAvroOverview]]
+Apache Avro Overview
+^^^^^^^^^^^^^^^^^^^^
+
+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.
+
+[source,xml]
+------------------------------------------------------------------------------------------
+{"namespace": "org.apache.camel.avro.generated",
+ "protocol": "KeyValueProtocol",
+
+ "types": [
+ {"name": "Key", "type": "record",
+ "fields": [
+ {"name": "key", "type": "string"}
+ ]
+ },
+ {"name": "Value", "type": "record",
+ "fields": [
+ {"name": "value", "type": "string"}
+ ]
+ }
+ ],
+
+ "messages": {
+ "put": {
+ "request": [{"name": "key", "type": "Key"}, {"name": "value", "type": "Value"} ],
+ "response": "null"
+ },
+ "get": {
+ "request": [{"name": "key", "type": "Key"}],
+ "response": "Value"
+ }
+ }
+}
+------------------------------------------------------------------------------------------
+
+You can easily generate classes from a schema, using maven, ant etc.
+More details can be found at the
+http://avro.apache.org/docs/current/[Apache Avro documentation].
+
+However, it doesn't enforce a schema first approach and you can create
+schema for your existing classes. *Since 2.12* you can use existing
+protocol interfaces to make RCP calls. You should use interface for the
+protocol itself and POJO beans or primitive/String classes for parameter
+and result types. Here is an example of the class that corresponds to
+schema above:
+
+[source,java]
+--------------------------------------------------------------
+package org.apache.camel.avro.reflection;
+
+public interface KeyValueProtocol {
+ void put(String key, Value value);
+ Value get(String key);
+}
+
+class Value {
+ private String value;
+ public String getValue() { return value; }
+ public void setValue(String value) { this.value = value; }
+}
+--------------------------------------------------------------
+
+_Note: Existing classes can be used only for RPC (see below), not in
+data format._
+
+[[avro-UsingtheAvrodataformat]]
+Using the Avro data format
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Using the avro data format is as easy as specifying that the class that
+you want to marshal or unmarshal in your route.
+
+[source,xml]
+--------------------------------------------------------------------------------
+ <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+ <route>
+ <from uri="direct:in"/>
+ <marshal>
+ <avro instanceClass="org.apache.camel.dataformat.avro.Message"/>
+ </marshal>
+ <to uri="log:out"/>
+ </route>
+ </camelContext>
+--------------------------------------------------------------------------------
+
+An alternative can be to specify the dataformat inside the context and
+reference it from your route.
+
+[source,xml]
+--------------------------------------------------------------------------------------
+ <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+ <dataFormats>
+ <avro id="avro" instanceClass="org.apache.camel.dataformat.avro.Message"/>
+ </dataFormats>
+ <route>
+ <from uri="direct:in"/>
+ <marshal ref="avro"/>
+ <to uri="log:out"/>
+ </route>
+ </camelContext>
+--------------------------------------------------------------------------------------
+
+In the same manner you can umarshal using the avro data format.
+
+[[avro-UsingAvroRPCinCamel]]
+Using Avro RPC in Camel
+^^^^^^^^^^^^^^^^^^^^^^^
+
+As mentioned above Avro also provides RPC support over multiple
+transports such as http and netty. Camel provides consumers and
+producers for these two transports.
+
+[source,java]
+----------------------------------------
+avro:[transport]:[host]:[port][?options]
+----------------------------------------
+
+The supported transport values are currently http or netty.
+
+*Since 2.12* you can specify message name right in the URI:
+
+[source,java]
+------------------------------------------------------
+avro:[transport]:[host]:[port][/messageName][?options]
+------------------------------------------------------
+
+For consumers this allows you to have multiple routes attached to the
+same socket. Dispatching to correct route will be done by the avro
+component automatically. Route with no messageName specified (if any)
+will be used as default.
+
+When using camel producers for avro ipc, the "in" message body needs to
+contain the parameters of the operation specified in the avro protocol.
+The response will be added in the body of the "out" message.
+
+In a similar manner when using camel avro consumers for avro ipc, the
+requests parameters will be placed inside the "in" message body of the
+created exchange and once the exchange is processed the body of the
+"out" message will be send as a response.
+
+*Note:* By default consumer parameters are wrapped into array. If you've
+got only one parameter, *since 2.12* you can use `singleParameter` URI
+option to receive it direcly in the "in" message body without array
+wrapping.
+
+[[avro-AvroRPCURIOptions]]
+Avro RPC URI Options
+^^^^^^^^^^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Name |Version |Description
+|`protocolClassName`| | The class name of the avro protocol.
+
+|`singleParameter` |2.12 |If true, consumer parameter won't be wrapped into array. Will fail if
+protocol specifies more then 1 parameter for the message
+
+|`protocol` | | Avro protocol object. Can be used instead of `protocolClassName` when
+complex protocol needs to be created. One cane used #name notation to
+refer beans from the Registry
+
+|`reflectionProtocol` |2.12 |If protocol object provided is reflection protocol. Should be used only
+with `protocol` parameter because for `protocolClassName` protocol type
+will be autodetected
+|=======================================================================
+
+[[avro-AvroRPCHeaders]]
+Avro RPC Headers
+^^^^^^^^^^^^^^^^
+
+[width="100%",cols="20%,80%",options="header",]
+|=======================================================================
+|Name |Description
+
+|`CamelAvroMessageName` |The name of the message to send. In consumer overrides message name from
+URI (if any)
+|=======================================================================
+
+[[avro-Examples]]
+Examples
+^^^^^^^^
+
+An example of using camel avro producers via http:
+
+[source,xml]
+---------------------------------------------------------------------------------------------------------------------------
+ <route>
+ <from uri="direct:start"/>
+ <to uri="avro:http:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+ <to uri="log:avro"/>
+ </route>
+---------------------------------------------------------------------------------------------------------------------------
+
+In the example above you need to fill `CamelAvroMessageName` header.
+*Since 2.12* you can use following syntax to call constant messages:
+
+[source,xml]
+-------------------------------------------------------------------------------------------------------------------------------
+ <route>
+ <from uri="direct:start"/>
+ <to uri="avro:http:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+ <to uri="log:avro"/>
+ </route>
+-------------------------------------------------------------------------------------------------------------------------------
+
+An example of consuming messages using camel avro consumers via netty:
+
+[source,xml]
+------------------------------------------------------------------------------------------------------------------------------
+ <route>
+ <from uri="avro:netty:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+ <choice>
+ <when>
+ <el>${in.headers.CamelAvroMessageName == 'put'}</el>
+ <process ref="putProcessor"/>
+ </when>
+ <when>
+ <el>${in.headers.CamelAvroMessageName == 'get'}</el>
+ <process ref="getProcessor"/>
+ </when>
+ </choice>
+ </route>
+------------------------------------------------------------------------------------------------------------------------------
+
+*Since 2.12* you can set up two distinct routes to perform the same
+task:
+
+[source,xml]
+-------------------------------------------------------------------------------------------------------------------------------------------------------
+ <route>
+ <from uri="avro:netty:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol">
+ <process ref="putProcessor"/>
+ </route>
+ <route>
+ <from uri="avro:netty:localhost:{{avroport}}/get?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol&singleParameter=true"/>
+ <process ref="getProcessor"/>
+ </route>
+-------------------------------------------------------------------------------------------------------------------------------------------------------
+
+In the example above, get takes only one parameter, so `singleParameter`
+is used and `getProcessor` will receive Value class directly in body,
+while `putProcessor` will receive an array of size 2 with String key and
+Value value filled as array contents.
http://git-wip-us.apache.org/repos/asf/camel/blob/3f7da0f8/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 78c0ae2..78b67a8 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -75,6 +75,7 @@
* [Apns](apns.adoc)
* [Atmosphere Websocket](atmosphere-websocket.adoc)
* [Atom](atom.adoc)
+ * [Avro](avro.adoc)
* [CDI](cdi.adoc)
* [JMS](jms.adoc)
[5/6] camel git commit: Added AWS components docs to gitbook
Posted by ac...@apache.org.
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws-swf.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws-swf.adoc b/components/camel-aws/src/main/docs/aws-swf.adoc
new file mode 100644
index 0000000..f34fb75
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws-swf.adoc
@@ -0,0 +1,248 @@
+[[AWS-SWF-SWFComponent]]
+SWF Component
+~~~~~~~~~~~~~
+
+*Available as of Camel 2.13*
+
+The Simple Workflow component supports managing workflows from
+http://aws.amazon.com/swf/[Amazon's Simple Workflow] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon Simple Workflow. More information are available
+at http://aws.amazon.com/swf/[Amazon Simple Workflow].
+
+[[AWS-SWF-URIFormat]]
+URI Format
+^^^^^^^^^^
+
+[source,java]
+---------------------------------------
+aws-swf://<workflow|activity>[?options]
+---------------------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+[[AWS-SWF-URIOptions]]
+URI Options
+^^^^^^^^^^^
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|=======================================================================
+|Name |Default Value |Context |Description
+
+|amazonSWClient |`null` |All |A reference to
+a com.amazonaws.services.simpleworkflow.AmazonSimpleWorkflowClient in
+the link:registry.html[Registry].
+
+|accessKey |`null` |All |Amazon AWS Access Key.
+
+|secretKey |`null` |All |Amazon AWS Secret Key.
+
+|sWClient.XXX |`null` |All |Properties to set on AmazonSimpleWorkflowClient in use.
+
+|clientConfiguration.XXX |`null` |All |Properties to set on ClientConfiguration in use.
+
+|startWorkflowOptions.XXX |`null` |Workflow/Producer |Properties to set on useStartWorkflowOptions in use.
+
+|operation |START |Workflow/Producer |The operation to perform on the workflow. Supported operations are:
+SIGNAL, CANCEL, TERMINATE, GET_STATE, START, DESCRIBE, GET_HISTORY.
+
+|domainName |`null` |All |The workflow domain to use.
+
+|activityList |`null` |Activity/Consumer |The list name to consume activities from.
+
+|workflowList |`null` |Workflow/Consumer |The list name to consume workflows from.
+
+|eventName |`null` |All |The workflow or activity event name to use.
+
+|version |`null` |All |The workflow or activity event version to use.
+
+|signalName |`null` |Workflow/Producer|The name of the signal to send to the workflow.
+
+|childPolicy |`null` |Workflow/Producer |The policy to use on child workflows when terminating a workflow.
+
+|terminationReason |`null` |Workflow/Producer |The reason for terminating a workflow.
+
+|stateResultType |Object |Workflow/Producer |The type of the result when a workflow state is queried.
+
+|terminationDetails |`null` |Workflow/Producer |Details for terminating a workflow.
+
+|dataConverter |`JsonDataConverter` |All |An instance of com.amazonaws.services.simpleworkflow.flow.DataConverter
+to use for serializing/deserializing the data.
+
+|activitySchedulingOptions |`null` |Activity/Producer |An instance of ActivitySchedulingOptions used to specify different
+timeout options.
+
+|activityTypeExecutionOptions |`null` |Activity/Consumer |An instance of ActivityTypeExecutionOptions.
+
+|activityTypeRegistrationOptions |`null` |Activity/Consumer |An instance of ActivityTypeRegistrationOptions.
+
+|workflowTypeRegistrationOptions |`null` |Workflow/Consumer |An instance of WorkflowTypeRegistrationOptions.
+|=======================================================================
+
+Required SWF component options
+
+You have to provide the amazonSWClient in the
+link:registry.html[Registry] or your accessKey and secretKey to access
+the http://aws.amazon.com/swf[Amazon's Simple Workflow Service].
+
+[[AWS-SWF-Usage]]
+Usage
+^^^^^
+
+[[AWS-SWF-MessageheadersevaluatedbytheSWFWorkflowProducer]]
+Message headers evaluated by the SWF Workflow Producer
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+A workflow producer allows interacting with a workflow. It can start a
+new workflow execution, query its state, send signals to a running
+workflow, or terminate and cancel it.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFOperation` |`String` |The operation to perform on the workflow. Supported operations are: +
+ SIGNAL, CANCEL, TERMINATE, GET_STATE, START, DESCRIBE, GET_HISTORY.
+
+|`CamelSWFWorkflowId` |`String` |A workflow ID to use.
+
+|`CamelAwsDdbKeyCamelSWFRunId` |`String` |A worfklow run ID to use.
+
+|`CamelSWFStateResultType` |`String` |The type of the result when a workflow state is queried.
+
+|`CamelSWFEventName` |`String` |The workflow or activity event name to use.
+
+|`CamelSWFVersion` |`String` |The workflow or activity event version to use.
+
+|`CamelSWFReason` |`String` |The reason for terminating a workflow.
+
+|`CamelSWFDetails` |`String` |Details for terminating a workflow.
+
+|`CamelSWFChildPolicy` |`String` |The policy to use on child workflows when terminating a workflow.
+|=======================================================================
+
+[[AWS-SWF-MessageheaderssetbytheSWFWorkflowProducer]]
+Message headers set by the SWF Workflow Producer
+++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFWorkflowId` |`String` |The worfklow ID used or newly generated.
+
+|`CamelAwsDdbKeyCamelSWFRunId` |`String` |The worfklow run ID used or generated.
+|=======================================================================
+
+[[AWS-SWF-MessageheaderssetbytheSWFWorkflowConsumer]]
+Message headers set by the SWF Workflow Consumer
+++++++++++++++++++++++++++++++++++++++++++++++++
+
+A workflow consumer represents the workflow logic. When it is started,
+it will start polling workflow decision tasks and process them. In
+addition to processing decision tasks, a workflow consumer route, will
+also receive signals (send from a workflow producer) or state queries.
+The primary purpose of a workflow consumer is to schedule activity tasks
+for execution using activity producers. Actually activity tasks can be
+scheduled only from a thread started by a workflow consumer.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFAction` |`String` |Indicates what type is the current event: CamelSWFActionExecute,
+CamelSWFSignalReceivedAction or CamelSWFGetStateAction.
+
+|`CamelSWFWorkflowReplaying` |`boolean` |Indicates whether the current decision task is a replay or not.
+
+|`CamelSWFWorkflowStartTime` |`long` |The time of the start event for this decision task.
+|=======================================================================
+
+[[AWS-SWF-MessageheaderssetbytheSWFActivityProducer]]
+Message headers set by the SWF Activity Producer
+++++++++++++++++++++++++++++++++++++++++++++++++
+
+An activity producer allows scheduling activity tasks. An activity
+producer can be used only from a thread started by a workflow consumer
+ie, it can process synchronous exchanges started by a workflow consumer.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFEventName` |`String` |The activity name to schedule.
+
+|`CamelSWFVersion` |`String` |The activity version to schedule.
+|=======================================================================
+
+[[AWS-SWF-MessageheaderssetbytheSWFActivityConsumer]]
+Message headers set by the SWF Activity Consumer
+++++++++++++++++++++++++++++++++++++++++++++++++
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFTaskToken` |`String` |The task token that is required to report task completion for manually
+completed tasks.
+|=======================================================================
+
+[[AWS-SWF-AdvancedamazonSWClientconfiguration]]
+Advanced amazonSWClient configuration
++++++++++++++++++++++++++++++++++++++
+
+If you need more control over the AmazonSimpleWorkflowClient instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+The `#client` refers to a AmazonSimpleWorkflowClient in the
+link:registry.html[Registry].
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonSimpleWorkflowClient client = new AmazonSimpleWorkflowClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------------------------
+
+[[AWS-SWF-Dependencies]]
+Dependencies
+^^^^^^^^^^^^
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-aws</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.13 or higher).
+
+[[AWS-SWF-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+link:aws.html[AWS Component]
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/components/camel-aws/src/main/docs/aws.adoc
----------------------------------------------------------------------
diff --git a/components/camel-aws/src/main/docs/aws.adoc b/components/camel-aws/src/main/docs/aws.adoc
new file mode 100644
index 0000000..7a3f9bb
--- /dev/null
+++ b/components/camel-aws/src/main/docs/aws.adoc
@@ -0,0 +1,35 @@
+[[AWS-CamelComponentsforAmazonWebServices]]
+Camel Components for Amazon Web Services
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Camel Components for http://aws.amazon.com[Amazon Web Services]
+provide connectivity to AWS services from Camel.
+
+
+[width="100%",cols="30%,10%,10%,50%",options="header",]
+|=======================================================================
+|AWS Service |Camel Component |Camel Version | Component Description
+
+|http://aws.amazon.com/sqs/[Simple Queue Service (SQS)] |link:aws-sqs.html[AWS-SQS] |2.6.0 |Supports sending and receiving messages using SQS
+
+|http://aws.amazon.com/sns/[Simple Notification Service (SNS)] |link:aws-sns.html[AWS-SNS] |2.8.0 |Supports sending messages using SNS
+
+|http://aws.amazon.com/s3/[Simple Storage Service (S3)] |link:aws-s3.html[AWS-S3] |2.8.0 |Supports storing and retrieving of objects using S3
+
+|http://aws.amazon.com/ses/[Simple Email Service (SES)] |link:aws-ses.html[AWS-SES] |2.8.4 |Supports sending emails using SES
+
+|http://aws.amazon.com/simpledb/[SimpleDB] |link:aws-sdb.html[AWS-SDB] |2.8.4 |Supports storing retrieving data to/from SDB
+
+|http://aws.amazon.com/dynamodb/[DynamoDB] |link:aws-ddb.html[AWS-DDB] |2.10.0 |Supports storing retrieving data to/from DDB
+
+|http://aws.amazon.com/cloudwatch/[CloudWatch] |link:aws-cw.html[AWS-CW] |2.10.3 |Supports sending metrics to CloudWatch
+
+|http://aws.amazon.com/swf/[Simple Workflow] |link:aws-swf.html[AWS-SWF] |2.13.0 |Supports managing workflows with SWF
+
+|http://aws.amazon.com/ec2/[EC2] |link:aws-ec2.html[AWS-EC2] |2.16.0 |Supports sending messages to AWS EC2 platform to create, run, start,
+stop, describe and terminate EC2 instances
+
+|https://aws.amazon.com/kinesis/streams/[Kinesis Streams] |link:aws-kinesis.html[AWS-KINESIS] |2.17.0 |Supports receiving from AWS Kinesis
+
+|http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html[DynamoDb Streams] |link:aws-ddbstream.html[AWS-DDBSTREAM] |2.17.0 |Supports receiving from DynamoDB Streams
+|=======================================================================
http://git-wip-us.apache.org/repos/asf/camel/blob/3437b3ed/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 78b67a8..257375cf 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -76,6 +76,18 @@
* [Atmosphere Websocket](atmosphere-websocket.adoc)
* [Atom](atom.adoc)
* [Avro](avro.adoc)
+ * [AWS](aws.adoc)
+ * [AWS CloudWatch](aws-cw.adoc)
+ * [AWS DynamoDB](aws-ddb.adoc)
+ * [AWS DynamoDB Streams](aws-ddbstream.adoc)
+ * [AWS EC2](aws-ec2.adoc)
+ * [AWS Kinesis](aws-kinesis.adoc)
+ * [AWS S3](aws-s3.adoc)
+ * [AWS SDB](aws-sdb.adoc)
+ * [AWS SES](aws-ses.adoc)
+ * [AWS SNS](aws-sns.adoc)
+ * [AWS SQS](aws-sqs.adoc)
+ * [AWS SWF](aws-swf.adoc)
* [CDI](cdi.adoc)
* [JMS](jms.adoc)