CAMEL-10798 Splitted hazelcast component into 11 which correspond to each of 
endpoints


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/bf10d278
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/bf10d278
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/bf10d278

Branch: refs/heads/master
Commit: bf10d2787f7bf464987a79642ee711b83bb1b972
Parents: dbeadb6
Author: Tomohisa Igarashi <tm.igara...@gmail.com>
Authored: Mon Apr 24 23:26:02 2017 +0900
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Tue May 9 09:50:01 2017 +0200

----------------------------------------------------------------------
 .../docs/hazelcast-atomicvalue-component.adoc   |  213 +++
 .../src/main/docs/hazelcast-component.adoc      | 1402 ------------------
 .../main/docs/hazelcast-instance-component.adoc |  100 ++
 .../src/main/docs/hazelcast-list-component.adoc |  129 ++
 .../src/main/docs/hazelcast-map-component.adoc  |  336 +++++
 .../main/docs/hazelcast-multimap-component.adoc |  237 +++
 .../main/docs/hazelcast-queue-component.adoc    |  142 ++
 .../docs/hazelcast-replicatedmap-component.adoc |  210 +++
 .../docs/hazelcast-ringbuffer-component.adoc    |  116 ++
 .../src/main/docs/hazelcast-seda-component.adoc |  104 ++
 .../src/main/docs/hazelcast-set-component.adoc  |   56 +
 .../main/docs/hazelcast-topic-component.adoc    |   88 ++
 .../src/main/docs/hazelcast.adoc                |  165 +++
 .../component/hazelcast/HazelcastComponent.java |  175 +--
 .../hazelcast/HazelcastDefaultComponent.java    |  227 +++
 .../hazelcast/HazelcastDefaultEndpoint.java     |    2 -
 .../HazelcastAtomicnumberComponent.java         |   42 +
 .../HazelcastAtomicnumberEndpoint.java          |    8 +
 .../instance/HazelcastInstanceComponent.java    |   42 +
 .../instance/HazelcastInstanceEndpoint.java     |   12 +-
 .../hazelcast/list/HazelcastListComponent.java  |   42 +
 .../hazelcast/list/HazelcastListEndpoint.java   |    6 +-
 .../hazelcast/map/HazelcastMapComponent.java    |   42 +
 .../hazelcast/map/HazelcastMapEndpoint.java     |   11 +-
 .../multimap/HazelcastMultimapComponent.java    |   42 +
 .../multimap/HazelcastMultimapEndpoint.java     |   11 +-
 .../queue/HazelcastQueueComponent.java          |   42 +
 .../hazelcast/queue/HazelcastQueueEndpoint.java |    6 +-
 .../HazelcastReplicatedmapComponent.java        |   42 +
 .../HazelcastReplicatedmapEndpoint.java         |   11 +-
 .../HazelcastRingbufferComponent.java           |   43 +
 .../ringbuffer/HazelcastRingbufferEndpoint.java |    7 +
 .../hazelcast/seda/HazelcastSedaComponent.java  |   46 +
 .../hazelcast/seda/HazelcastSedaEndpoint.java   |   10 +-
 .../hazelcast/set/HazelcastSetComponent.java    |   43 +
 .../hazelcast/set/HazelcastSetEndpoint.java     |    6 +-
 .../topic/HazelcastTopicComponent.java          |   45 +
 .../hazelcast/topic/HazelcastTopicEndpoint.java |    7 +
 .../camel/component/hazelcast-atomicvalue       |   18 +
 .../apache/camel/component/hazelcast-instance   |   18 +
 .../org/apache/camel/component/hazelcast-list   |   18 +
 .../org/apache/camel/component/hazelcast-map    |   18 +
 .../apache/camel/component/hazelcast-multimap   |   18 +
 .../org/apache/camel/component/hazelcast-queue  |   18 +
 .../camel/component/hazelcast-replicatedmap     |   18 +
 .../apache/camel/component/hazelcast-ringbuffer |   18 +
 .../org/apache/camel/component/hazelcast-seda   |   18 +
 .../org/apache/camel/component/hazelcast-set    |   18 +
 .../org/apache/camel/component/hazelcast-topic  |   18 +
 .../HazelcastAtomicnumberProducerTest.java      |   20 +-
 .../HazelcastCamelSpringTestSupport.java        |    4 +-
 .../hazelcast/HazelcastCamelTestHelper.java     |   78 +
 .../hazelcast/HazelcastCamelTestSupport.java    |    7 +-
 .../hazelcast/HazelcastConfigurationTest.java   |   43 +-
 .../hazelcast/HazelcastErrorMessagesTest.java   |    8 +-
 .../HazelcastInstanceConsumerTest.java          |    2 +-
 .../hazelcast/HazelcastListConsumerTest.java    |    2 +-
 .../hazelcast/HazelcastListProducerTest.java    |   22 +-
 .../hazelcast/HazelcastMapConsumerTest.java     |    2 +-
 .../hazelcast/HazelcastMapProducerTest.java     |   30 +-
 .../HazelcastMultimapConsumerTest.java          |    2 +-
 .../HazelcastMultimapProducerTest.java          |   22 +-
 .../hazelcast/HazelcastQueueConsumerTest.java   |    2 +-
 .../hazelcast/HazelcastQueueProducerTest.java   |   24 +-
 .../HazelcastReliableTopicConsumerTest.java     |    2 +-
 .../HazelcastReliableTopicProducerTest.java     |    6 +-
 .../HazelcastReplicatedmapConsumerTest.java     |    2 +-
 .../HazelcastReplicatedmapProducerTest.java     |   18 +-
 .../HazelcastRingbufferProducerTest.java        |   10 +-
 .../HazelcastSedaConcurrentConsumersTest.java   |    4 +-
 .../HazelcastSedaConfigurationTest.java         |   10 +-
 .../hazelcast/HazelcastSedaFIFOTest.java        |    4 +-
 .../hazelcast/HazelcastSedaInOnlyTest.java      |    4 +-
 .../hazelcast/HazelcastSedaInOutTest.java       |    4 +-
 .../HazelcastSedaInOutTransactedTest.java       |    4 +-
 .../HazelcastSedaSpringSupportTest.java         |    2 +-
 .../HazelcastSedaTransferExchangeTest.java      |    6 +-
 .../hazelcast/HazelcastSetConsumerTest.java     |    2 +-
 .../hazelcast/HazelcastSetProducerTest.java     |   18 +-
 .../hazelcast/HazelcastTopicConsumerTest.java   |    2 +-
 .../hazelcast/HazelcastTopicProducerTest.java   |    6 +-
 .../spring/test-camel-context-atomicnumber.xml  |   14 +-
 ...ontext-hazelcast-instance-name-reference.xml |    4 +-
 ...mel-context-hazelcast-instance-reference.xml |    4 +-
 .../META-INF/spring/test-camel-context-map.xml  |   24 +-
 .../spring/test-camel-context-multimap.xml      |   14 +-
 .../spring/test-camel-context-replicatedmap.xml |   12 +-
 .../spring/test-camel-context-ringbuffer.xml    |   10 +-
 .../META-INF/spring/test-camel-context-seda.xml |    6 +-
 components/readme.adoc                          |   36 +-
 docs/user-manual/en/SUMMARY.md                  |   12 +-
 .../ReadMe.md                                   |    2 +-
 .../example/kubernetes/fmp/HazelcastRoute.java  |   10 +-
 ...tAtomicnumberComponentAutoConfiguration.java |  115 ++
 ...lcastAtomicnumberComponentConfiguration.java |   77 +
 ...lcastInstanceComponentAutoConfiguration.java |  115 ++
 ...HazelcastInstanceComponentConfiguration.java |   77 +
 ...HazelcastListComponentAutoConfiguration.java |  114 ++
 .../HazelcastListComponentConfiguration.java    |   76 +
 .../HazelcastMapComponentAutoConfiguration.java |  114 ++
 .../HazelcastMapComponentConfiguration.java     |   76 +
 ...lcastMultimapComponentAutoConfiguration.java |  115 ++
 ...HazelcastMultimapComponentConfiguration.java |   77 +
 ...azelcastQueueComponentAutoConfiguration.java |  115 ++
 .../HazelcastQueueComponentConfiguration.java   |   76 +
 ...ReplicatedmapComponentAutoConfiguration.java |  115 ++
 ...castReplicatedmapComponentConfiguration.java |   77 +
 ...astRingbufferComponentAutoConfiguration.java |  115 ++
 ...zelcastRingbufferComponentConfiguration.java |   77 +
 ...HazelcastSedaComponentAutoConfiguration.java |  114 ++
 .../HazelcastSedaComponentConfiguration.java    |   76 +
 .../HazelcastSetComponentAutoConfiguration.java |  114 ++
 .../HazelcastSetComponentConfiguration.java     |   76 +
 ...azelcastTopicComponentAutoConfiguration.java |  115 ++
 .../HazelcastTopicComponentConfiguration.java   |   76 +
 ...dditional-spring-configuration-metadata.json |   66 +
 .../main/resources/META-INF/spring.factories    |   24 +-
 117 files changed, 5393 insertions(+), 1785 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/bf10d278/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
----------------------------------------------------------------------
diff --git 
a/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc 
b/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
new file mode 100644
index 0000000..82315ea
--- /dev/null
+++ 
b/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
@@ -0,0 +1,213 @@
+## Hazelcast Atomic Number Component
+
+*Available as of Camel version 2.7*
+
+The http://www.hazelcast.com/[Hazelcast] atomic number component is one of 
link:hazelcast.html[Camel Hazelcast Components] which allows you to access 
Hazelcast atomic number.
+An atomic number is an object that simply provides a grid wide number (long). 
+
+*There is no consumer for this endpoint!*
+
+
+### Options
+
+// component options: START
+The Hazelcast Atomic Number component supports 3 options which are listed 
below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|=======================================================================
+| Name | Description | Default | Type
+| **hazelcastInstance** (advanced) | The hazelcast instance reference which 
can be used for hazelcast endpoint. If you don't specify the instance reference 
camel use the default hazelcast instance from the camel-hazelcast instance. |  
| HazelcastInstance
+| **hazelcastMode** (advanced) | The hazelcast mode reference which kind of 
instance should be used. If you don't specify the mode then the node mode will 
be the default. | node | String
+| **resolveProperty Placeholders** (advanced) | Whether the component should 
resolve property placeholders on itself when starting. Only properties which 
are of String type can use property placeholders. | true | boolean
+|=======================================================================
+// component options: END
+
+// endpoint options: START
+The Hazelcast Atomic Number endpoint is configured using URI syntax:
+
+    hazelcast-atomicvalue:cacheName
+
+with the following path and query parameters:
+
+#### Path Parameters (1 parameters):
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|=======================================================================
+| Name | Description | Default | Type
+| **cacheName** | *Required* The name of the cache |  | String
+|=======================================================================
+
+#### Query Parameters (9 parameters):
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|=======================================================================
+| Name | Description | Default | Type
+| **reliable** (common) | Define if the endpoint will use a reliable Topic 
struct or not. | false | boolean
+| **defaultOperation** (producer) | To specify a default operation to use if 
no operation header has been provided. |  | String
+| **hazelcastInstance** (producer) | The hazelcast instance reference which 
can be used for hazelcast endpoint. |  | HazelcastInstance
+| **hazelcastInstanceName** (producer) | The hazelcast instance reference name 
which can be used for hazelcast endpoint. If you don't specify the instance 
reference camel use the default hazelcast instance from the camel-hazelcast 
instance. |  | String
+| **synchronous** (advanced) | Sets whether synchronous processing should be 
strictly used or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
+| **concurrentConsumers** (seda) | To use concurrent consumers polling from 
the SEDA queue. | 1 | int
+| **pollTimeout** (seda) | The timeout used when consuming from the SEDA 
queue. When a timeout occurs the consumer can check whether it is allowed to 
continue running. Setting a lower value allows the consumer to react more 
quickly upon shutdown. | 1000 | int
+| **transacted** (seda) | If set to true then the consumer runs in transaction 
mode where the messages in the seda queue will only be removed if the 
transaction commits which happens when the processing is complete. | false | 
boolean
+| **transferExchange** (seda) | If set to true the whole Exchange will be 
transfered. If header or body contains not serializable objects they will be 
skipped. | false | boolean
+|=======================================================================
+// endpoint options: END
+
+
+### atomic number producer - to("hazelcast-atomicvalue:foo")
+
+The operations for this producer are:
+* setvalue (set the number with a given value)
+* get
+* increase (+1)
+* decrease (-1)
+* destroy
+
+Header Variables for the request message:
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Name |Type |Description
+
+|`CamelHazelcastOperationType` |`String` |valid values are: setvalue, get, 
increase, decrease, destroy 
+|=======================================================================
+
+#### Sample for *set*:
+
+Java DSL:
+
+[source,java]
+-----------------------------------------------------------------------------------------
+from("direct:set")
+.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.SETVALUE_OPERATION))
+.toF("hazelcast-%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
+-----------------------------------------------------------------------------------------
+
+Spring DSL:
+
+[source,java]
+-----------------------------------------------------------------------------------------------
+<route>
+    <from uri="direct:set" />
+        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
+    <setHeader headerName="hazelcast.operation.type">
+        <constant>setvalue</constant>
+    </setHeader>
+    <to uri="hazelcast-atomicvalue:foo" />
+</route>
+-----------------------------------------------------------------------------------------------
+
+Provide the value to set inside the message body (here the value is 10):
+`template.sendBody("direct:set", 10);`
+
+#### Sample for *get*:
+
+Java DSL:
+
+[source,java]
+------------------------------------------------------------------------------------
+from("direct:get")
+.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.GET_OPERATION))
+.toF("hazelcast-%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
+------------------------------------------------------------------------------------
+
+Spring DSL:
+
+[source,java]
+-----------------------------------------------------------------------------------------------
+<route>
+    <from uri="direct:get" />
+        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
+    <setHeader headerName="hazelcast.operation.type">
+        <constant>get</constant>
+    </setHeader>
+    <to uri="hazelcast-atomicvalue:foo" />
+</route>
+-----------------------------------------------------------------------------------------------
+
+You can get the number with
+`long body = template.requestBody("direct:get", null, Long.class);`.
+
+#### Sample for *increment*:
+
+Java DSL:
+
+[source,java]
+------------------------------------------------------------------------------------------
+from("direct:increment")
+.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.INCREMENT_OPERATION))
+.toF("hazelcast-%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
+------------------------------------------------------------------------------------------
+
+Spring DSL:
+
+[source,java]
+-----------------------------------------------------------------------------------------------
+<route>
+    <from uri="direct:increment" />
+        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
+    <setHeader headerName="hazelcast.operation.type">
+        <constant>increment</constant>
+    </setHeader>
+    <to uri="hazelcast-atomicvalue:foo" />
+</route>
+-----------------------------------------------------------------------------------------------
+
+The actual value (after increment) will be provided inside the message
+body.
+
+#### Sample for *decrement*:
+
+Java DSL:
+
+[source,java]
+------------------------------------------------------------------------------------------
+from("direct:decrement")
+.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.DECREMENT_OPERATION))
+.toF("hazelcast-%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
+------------------------------------------------------------------------------------------
+
+Spring DSL:
+
+[source,java]
+-----------------------------------------------------------------------------------------------
+<route>
+    <from uri="direct:decrement" />
+        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
+    <setHeader headerName="hazelcast.operation.type">
+        <constant>decrement</constant>
+    </setHeader>
+    <to uri="hazelcast-atomicvalue:foo" />
+</route>
+-----------------------------------------------------------------------------------------------
+
+The actual value (after decrement) will be provided inside the message
+body.
+
+#### Sample for *destroy*
+
+Java DSL:
+
+[source,java]
+----------------------------------------------------------------------------------------
+from("direct:destroy")
+.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.DESTROY_OPERATION))
+.toF("hazelcast-%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
+----------------------------------------------------------------------------------------
+
+Spring DSL:
+
+[source,java]
+-----------------------------------------------------------------------------------------------
+<route>
+    <from uri="direct:destroy" />
+        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
+    <setHeader headerName="hazelcast.operation.type">
+        <constant>destroy</constant>
+    </setHeader>
+    <to uri="hazelcast-atomicvalue:foo" />
+</route>
+-----------------------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/bf10d278/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc 
b/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
deleted file mode 100644
index 184f039..0000000
--- a/components/camel-hazelcast/src/main/docs/hazelcast-component.adoc
+++ /dev/null
@@ -1,1402 +0,0 @@
-## Hazelcast Component
-
-*Available as of Camel version 2.7*
-
-The *hazelcast:* component allows you to work with the
-http://www.hazelcast.com[Hazelcast] distributed data grid / cache.
-Hazelcast is a in memory data grid, entirely written in Java (single
-jar). It offers a great palette of different data stores like map, multi
-map (same key, n values), queue, list and atomic number. The main reason
-to use Hazelcast is its simple cluster support. If you have enabled
-multicast on your network you can run a cluster with hundred nodes with
-no extra configuration. Hazelcast can simply configured to add
-additional features like n copies between nodes (default is 1), cache
-persistence, network configuration (if needed), near cache, enviction
-and so on. For more information consult the Hazelcast documentation on
-http://www.hazelcast.com/docs.jsp[http://www.hazelcast.com/docs.jsp].
-
-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-hazelcast</artifactId>
-    <version>x.x.x</version>
-    <!-- use the same version as your Camel core version -->
-</dependency>
-------------------------------------------------------------
-
-### URI format
-
-[source,java]
--------------------------------------------------------------------------------------------------------------------------
-hazelcast:[ map | multimap | queue | topic | seda | set | atomicvalue | 
instance | list | ringbuffer]:cachename[?options]
--------------------------------------------------------------------------------------------------------------------------
-
-* Topic support is available as of Camel 2.15. *
-
-
-* RingBuffer support is available as of Camel 2.16. *
-
-### Options
-
-
-
-
-// component options: START
-The Hazelcast component supports 3 options which are listed below.
-
-
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|=======================================================================
-| Name | Description | Default | Type
-| **hazelcastInstance** (advanced) | The hazelcast instance reference which 
can be used for hazelcast endpoint. If you don't specify the instance reference 
camel use the default hazelcast instance from the camel-hazelcast instance. |  
| HazelcastInstance
-| **hazelcastMode** (advanced) | The hazelcast mode reference which kind of 
instance should be used. If you don't specify the mode then the node mode will 
be the default. | node | String
-| **resolveProperty Placeholders** (advanced) | Whether the component should 
resolve property placeholders on itself when starting. Only properties which 
are of String type can use property placeholders. | true | boolean
-|=======================================================================
-// component options: END
-
-
-
-
-
-
-// endpoint options: START
-The Hazelcast endpoint is configured using URI syntax:
-
-    hazelcast:command:cacheName
-
-with the following path and query parameters:
-
-#### Path Parameters (2 parameters):
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|=======================================================================
-| Name | Description | Default | Type
-| **command** | *Required* What operation to perform. |  | HazelcastCommand
-| **cacheName** | *Required* The name of the cache |  | String
-|=======================================================================
-
-#### Query Parameters (12 parameters):
-
-[width="100%",cols="2,5,^1,2",options="header"]
-|=======================================================================
-| Name | Description | Default | Type
-| **defaultOperation** (common) | To specify a default operation to use if no 
operation header has been provided. |  | String
-| **hazelcastInstance** (common) | The hazelcast instance reference which can 
be used for hazelcast endpoint. |  | HazelcastInstance
-| **hazelcastInstanceName** (common) | The hazelcast instance reference name 
which can be used for hazelcast endpoint. If you don't specify the instance 
reference camel use the default hazelcast instance from the camel-hazelcast 
instance. |  | String
-| **reliable** (common) | Define if the endpoint will use a reliable Topic 
struct or not. | false | boolean
-| **bridgeErrorHandler** (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages or the likes will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions that will be logged at WARN or ERROR level and ignored. | false | 
boolean
-| **exceptionHandler** (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
options is not in use. By default the consumer will deal with exceptions that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
-| **exchangePattern** (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. |  | ExchangePattern
-| **synchronous** (advanced) | Sets whether synchronous processing should be 
strictly used or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
-| **concurrentConsumers** (seda) | To use concurrent consumers polling from 
the SEDA queue. | 1 | int
-| **pollTimeout** (seda) | The timeout used when consuming from the SEDA 
queue. When a timeout occurs the consumer can check whether it is allowed to 
continue running. Setting a lower value allows the consumer to react more 
quickly upon shutdown. | 1000 | int
-| **transacted** (seda) | If set to true then the consumer runs in transaction 
mode where the messages in the seda queue will only be removed if the 
transaction commits which happens when the processing is complete. | false | 
boolean
-| **transferExchange** (seda) | If set to true the whole Exchange will be 
transfered. If header or body contains not serializable objects they will be 
skipped. | false | boolean
-|=======================================================================
-// endpoint options: END
-
-
-
-### Sections
-
-1.  Usage of link:hazelcast-component.html[#map]
-2.  Usage of link:hazelcast-component.html[#multimap]
-3.  Usage of link:hazelcast-component.html[#queue]
-4.  Usage of link:hazelcast-component.html[#topic]
-5.  Usage of link:hazelcast-component.html[#list]
-6.  Usage of link:hazelcast-component.html[#seda]
-7.  Usage of link:hazelcast-component.html[atomic number]
-8.  Usage of link:hazelcast-component.html[#cluster] support (instance)
-9.  Usage of link:hazelcast-component.html[#replicatedmap] 
-10. Usage of link:hazelcast-component.html[#ringbuffer] 
-
-### Usage of Map
-
-#### Map cache producer - to("hazelcast:map:foo")
-
-If you want to store a value in a map you can use the map cache
-producer. 
-
-The map cache producer provides follow operations specified by 
*CamelHazelcastOperationType* header:
-
-* put
-* putIfAbsent
-* get
-* getAll
-* keySet
-* containsKey
-* containsValue
-* delete
-* update
-* query
-* clear
-* evict
-* evictAll
-
-All operations are provide the inside the "hazelcast.operation.type" header 
variable. In Java
-DSL you can use the constants from 
`org.apache.camel.component.hazelcast.HazelcastConstants`.
-
-Header Variables for the request message:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-|`CamelHazelcastOperationType` |`String` | as already described. 
-
-|`CamelHazelcastObjectId` |`String` |the object id to store / find your object 
inside the cache (not needed for the query operation)
-|=======================================================================
-
-*put* and *putIfAbsent* operations provide an eviction mechanism: 
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-|`CamelHazelcastObjectTtlValue` |`Integer` | value of TTL. 
-
-|`CamelHazelcastObjectTtlUnit` |`java.util.concurrent.TimeUnit` | value of 
time unit ( DAYS / HOURS / MINUTES / ....
-|=======================================================================
-
-You can call the samples with:
-
-[source,java]
--------------------------------------------------------------------------------------------------------------------
-template.sendBodyAndHeader("direct:[put|get|update|delete|query|evict]", 
"my-foo", HazelcastConstants.OBJECT_ID, "4711");
--------------------------------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforput:]]
-Sample for *put*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:put")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.PUT_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.MAP_PREFIX);
-------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:put" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>put</constant>
-    </setHeader>
-    <to uri="hazelcast:map:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-Sample for *put* with eviction:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:put")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.PUT_OPERATION))
-.setHeader(HazelcastConstants.TTL_VALUE, constant(Long.valueOf(1)))
-.setHeader(HazelcastConstants.TTL_UNIT, constant(TimeUnit.MINUTES))
-.toF("hazelcast:%sfoo", HazelcastConstants.MAP_PREFIX);
-------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:put" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>put</constant>
-    </setHeader>
-    <setHeader headerName="HazelcastConstants.TTL_VALUE">
-        <simple resultType="java.lang.Long">1</simple>
-    </setHeader>
-    <setHeader headerName="HazelcastConstants.TTL_UNIT">
-        <simple 
resultType="java.util.concurrent.TimeUnit">TimeUnit.MINUTES</simple>
-    </setHeader>
-    <to uri="hazelcast:map:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-
-[[HazelcastComponent-Sampleforget:]]
-Sample for *get*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:get")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.GET_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.MAP_PREFIX)
-.to("seda:out");
-------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:get" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>get</constant>
-    </setHeader>
-    <to uri="hazelcast:map:foo" />
-    <to uri="seda:out" />
-</route>
------------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforupdate:]]
-Sample for *update*:
-
-Java DSL:
-
-[source,java]
----------------------------------------------------------------------------------------
-from("direct:update")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.UPDATE_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.MAP_PREFIX);
----------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:update" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>update</constant>
-    </setHeader>
-    <to uri="hazelcast:map:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Samplefordelete:]]
-Sample for *delete*:
-
-Java DSL:
-
-[source,java]
----------------------------------------------------------------------------------------
-from("direct:delete")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.DELETE_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.MAP_PREFIX);
----------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:delete" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>delete</constant>
-    </setHeader>
-    <to uri="hazelcast:map:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforquery]]
-Sample for *query*
-
-Java DSL:
-
-[source,java]
---------------------------------------------------------------------------------------
-from("direct:query")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.QUERY_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.MAP_PREFIX)
-.to("seda:out");
---------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:query" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>query</constant>
-    </setHeader>
-    <to uri="hazelcast:map:foo" />
-    <to uri="seda:out" />
-</route>
------------------------------------------------------------------------------------------------
-
-For the query operation Hazelcast offers a SQL like syntax to query your
-distributed map.
-
-[source,java]
--------------------------------------------------------------------------------
-String q1 = "bar > 1000";
-template.sendBodyAndHeader("direct:query", null, HazelcastConstants.QUERY, q1);
--------------------------------------------------------------------------------
-
-### Map cache consumer - from("hazelcast:map:foo")
-
-Hazelcast provides event listeners on their data grid. If you want to be
-notified if a cache will be manipulated, you can use the map consumer.
-There're 4 events: *put*, *update*, *delete* and *envict*. The event
-type will be stored in the "*hazelcast.listener.action*" header
-variable. The map consumer provides some additional information inside
-these variables:
-
-Header Variables inside the response message:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|`CamelHazelcastListenerTime` |`Long` |time of the event in millis
-
-|`CamelHazelcastListenerType` |`String` |the map consumer sets here 
"cachelistener"
-
-|`CamelHazelcastListenerAction` |`String` |type of event - here *added*, 
*updated*, *envicted* and *removed*.
-
-|`CamelHazelcastObjectId` |`String` |the oid of the object
-
-|`CamelHazelcastCacheName` |`String` |the name of the cache - e.g. "foo"
-
-|`CamelHazelcastCacheType` |`String` |the type of the cache - here map
-|=======================================================================
-
-The object value will be stored within *put* and *update* actions inside
-the message body.
-
-Here's a sample:
-
-[source,java]
---------------------------------------------------------------------------------------------
-fromF("hazelcast:%sfoo", HazelcastConstants.MAP_PREFIX)
-.log("object...")
-.choice()
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ADDED))
-         .log("...added")
-         .to("mock:added")
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ENVICTED))
-         .log("...envicted")
-         .to("mock:envicted")
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.UPDATED))
-         .log("...updated")
-         .to("mock:updated")
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.REMOVED))
-         .log("...removed")
-         .to("mock:removed")
-    .otherwise()
-         .log("fail!");
---------------------------------------------------------------------------------------------
-
-### Usage of Multi Map
-
-#### multimap cache producer - to("hazelcast:multimap:foo")
-
-A multimap is a cache where you can store n values to one key. The
-multimap producer provides 4 operations (put, get, removevalue, delete).
-
-Header Variables for the request message:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|`CamelHazelcastOperationType` |`String` |valid values are: put, get, 
removevalue, delete *From Camel 2.16:* clear.
-
-|`CamelHazelcastObjectId` |`String` |the object id to store / find your object 
inside the cache
-|=======================================================================
-
-[[HazelcastComponent-Sampleforput:.1]]
-Sample for *put*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:put")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.PUT_OPERATION))
-.to(String.format("hazelcast:%sbar", HazelcastConstants.MULTIMAP_PREFIX));
-------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:put" />
-    <log message="put.."/>
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>put</constant>
-    </setHeader>
-    <to uri="hazelcast:multimap:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforremovevalue:]]
-Sample for *removevalue*:
-
-Java DSL:
-
-[source,java]
---------------------------------------------------------------------------------------------
-from("direct:removevalue")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.REMOVEVALUE_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.MULTIMAP_PREFIX);
---------------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:removevalue" />
-    <log message="removevalue..."/>
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>removevalue</constant>
-    </setHeader>
-    <to uri="hazelcast:multimap:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-To remove a value you have to provide the value you want to remove
-inside the message body. If you have a multimap object
-\{`key: "4711" values: { "my-foo", "my-bar"`}} you have to put "my-foo"
-inside the message body to remove the "my-foo" value.
-
-[[HazelcastComponent-Sampleforget:.1]]
-Sample for *get*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:get")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.GET_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.MULTIMAP_PREFIX)
-.to("seda:out");
-------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:get" />
-    <log message="get.."/>
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>get</constant>
-    </setHeader>
-    <to uri="hazelcast:multimap:foo" />
-    <to uri="seda:out" />
-</route>
------------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Samplefordelete:.1]]
-Sample for *delete*:
-
-Java DSL:
-
-[source,java]
----------------------------------------------------------------------------------------
-from("direct:delete")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.DELETE_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.MULTIMAP_PREFIX);
----------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:delete" />
-    <log message="delete.."/>
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>delete</constant>
-    </setHeader>
-    <to uri="hazelcast:multimap:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-you can call them in your test class with:
-
-[source,java]
-------------------------------------------------------------------------------------------------------------------
-template.sendBodyAndHeader("direct:[put|get|removevalue|delete]", "my-foo", 
HazelcastConstants.OBJECT_ID, "4711");
-------------------------------------------------------------------------------------------------------------------
-
-#### multimap cache consumer - from("hazelcast:multimap:foo")
-
-For the multimap cache this component provides the same listeners /
-variables as for the map cache consumer (except the update and enviction
-listener). The only difference is the *multimap* prefix inside the URI.
-Here is a sample:
-
-[source,java]
---------------------------------------------------------------------------------------------------
-fromF("hazelcast:%sbar", HazelcastConstants.MULTIMAP_PREFIX)
-.log("object...")
-.choice()
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ADDED))
-        .log("...added")
-                .to("mock:added")
-        
//.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ENVICTED))
-        //        .log("...envicted")
-        //        .to("mock:envicted")
-        
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.REMOVED))
-                .log("...removed")
-                .to("mock:removed")
-        .otherwise()
-                .log("fail!");
---------------------------------------------------------------------------------------------------
-
-Header Variables inside the response message:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|`CamelHazelcastListenerTime` |`Long` |time of the event in millis
-
-|`CamelHazelcastListenerType` |`String` |the map consumer sets here 
"cachelistener"
-
-|`CamelHazelcastListenerAction` |`String` |type of event - here *added* and 
*removed* (and soon *envicted*)
-
-|`CamelHazelcastObjectId` |`String` |the oid of the object
-
-|`CamelHazelcastCacheName` |`String` |the name of the cache - e.g. "foo"
-
-|`CamelHazelcastCacheType` |`String` |the type of the cache - here multimap
-|=======================================================================
-
-### Usage of Queue
-
-#### Queue producer – to(“hazelcast:queue:foo”)
-
-The queue producer provides 6 operations (add, put, poll, peek, offer,
-removevalue).
-
-[[HazelcastComponent-Sampleforadd:]]
-Sample for *add*:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:add")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.ADD_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.QUEUE_PREFIX);
-------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforput:.2]]
-Sample for *put*:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:put")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.PUT_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.QUEUE_PREFIX);
-------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforpoll:]]
-Sample for *poll*:
-
-[source,java]
--------------------------------------------------------------------------------------
-from("direct:poll")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.POLL_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.QUEUE_PREFIX);
--------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforpeek:]]
-Sample for *peek*:
-
-[source,java]
--------------------------------------------------------------------------------------
-from("direct:peek")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.PEEK_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.QUEUE_PREFIX);
--------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforoffer:]]
-Sample for *offer*:
-
-[source,java]
---------------------------------------------------------------------------------------
-from("direct:offer")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.OFFER_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.QUEUE_PREFIX);
---------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforremovevalue:.1]]
-Sample for *removevalue*:
-
-[source,java]
---------------------------------------------------------------------------------------------
-from("direct:removevalue")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.REMOVEVALUE_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.QUEUE_PREFIX);
---------------------------------------------------------------------------------------------
-
-#### Queue consumer – from(“hazelcast:queue:foo”)
-
-The queue consumer provides 2 operations (add, remove).
-
-[source,java]
--------------------------------------------------------------------------------------------
-fromF("hazelcast:%smm", HazelcastConstants.QUEUE_PREFIX)
-   .log("object...")
-   .choice()
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ADDED))
-            .log("...added")
-        .to("mock:added")
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.REMOVED))
-        .log("...removed")
-        .to("mock:removed")
-    .otherwise()
-        .log("fail!");
--------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-topic]]
-
-### Usage of Topic
-
-#### Topic producer – to(“hazelcast:topic:foo”)
-
-The topic producer provides only one operation (publish).
-
-[[HazelcastComponent-Sampleforpublish:]]
-Sample for *publish*:
-
-[source,java]
-----------------------------------------------------------------------------------------
-from("direct:add")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.PUBLISH_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.PUBLISH_OPERATION);
-----------------------------------------------------------------------------------------
-
-#### Topic consumer – from(“hazelcast:topic:foo”)
-
-The topic consumer provides only one operation (received). This
-component is supposed to support multiple consumption as it's expected
-when it comes to topics so you are free to have as much consumers as you
-need on the same hazelcast topic.
-
-[source,java]
---------------------------------------------------------------------------------------------
-fromF("hazelcast:%sfoo", HazelcastConstants.TOPIC_PREFIX)
-  .choice()
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.RECEIVED))
-      .log("...message received")
-    .otherwise()
-      .log("...this should never have happened")
---------------------------------------------------------------------------------------------
-
- 
-
-### Usage of List
-
-#### List producer – to(“hazelcast:list:foo”)
-
-The list producer provides 4 operations (add, addAll, set, get,
-removevalue, removeAll, clear).
-
-[[HazelcastComponent-Sampleforadd:.1]]
-Sample for *add*:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:add")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.ADD_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.LIST_PREFIX);
-------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforget:.2]]
-Sample for *get*:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:get")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.GET_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.LIST_PREFIX)
-.to("seda:out");
-------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforsetvalue:]]
-Sample for *setvalue*:
-
-[source,java]
------------------------------------------------------------------------------------------
-from("direct:set")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.SETVALUE_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.LIST_PREFIX);
------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforremovevalue:.2]]
-Sample for *removevalue*:
-
-[source,java]
---------------------------------------------------------------------------------------------
-from("direct:removevalue")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.REMOVEVALUE_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.LIST_PREFIX);
---------------------------------------------------------------------------------------------
-
-Note that *CamelHazelcastObjectIndex* header is used for indexing
-purpose.
-
-#### The list consumer provides 2 operations (add, remove).List consumer – 
from(“hazelcast:list:foo”)
-
-[source,java]
------------------------------------------------------------------------------------------------
-fromF("hazelcast:%smm", HazelcastConstants.LIST_PREFIX)
-    .log("object...")
-    .choice()
-        
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ADDED))
-            .log("...added")
-                        .to("mock:added")
-        
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.REMOVED))
-            .log("...removed")
-                        .to("mock:removed")
-                .otherwise()
-                        .log("fail!");
------------------------------------------------------------------------------------------------
-
-### Usage of SEDA
-
-SEDA component differs from the rest components provided. It implements
-a work-queue in order to support asynchronous SEDA architectures,
-similar to the core "SEDA" component.
-
-#### SEDA producer – to(“hazelcast:seda:foo”)
-
-The SEDA producer provides no operations. You only send data to the
-specified queue.
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Default value |Description
-
-|`transferExchange` |`false` | if set to true the whole Exchange will be 
transfered. If
-header or body contains not serializable objects, they will be skipped.
-|=======================================================================
-
-Java DSL :
-
-[source,java]
---------------------------
-from("direct:foo")
-.to("hazelcast:seda:foo");
---------------------------
-
-Spring DSL :
-
-[source,java]
-----------------------------------
-<route>
-   <from uri="direct:start" />
-   <to uri="hazelcast:seda:foo" />
-</route>
-----------------------------------
-
-#### SEDA consumer – from(“hazelcast:seda:foo”)
-
-The SEDA consumer provides no operations. You only retrieve data from
-the specified queue.
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Default value |Description
-
-|`pollInterval` |`1000` |The timeout used when consuming from the SEDA queue. 
When a timeout
-occurs, the consumer can check whether it is allowed to continue
-running. Setting a lower value allows the consumer to react more quickly
-upon shutdown. (*deprecated* from Camel 2.15 onwards, use pollTimeout
-instead).
-
-|`pollTimeout` |1000 | The timeout used when consuming from the SEDA queue. 
When
-a timeout occurs, the consumer can check whether it is allowed to
-continue running. Setting a lower value allows the consumer to react
-more quickly upon shutdown.
-
-|`concurrentConsumers` |`1` |To use concurrent consumers polling from the SEDA 
queue.
-
-|`transferExchange` |`false`| if set to true the whole Exchange will be 
transfered. If
-header or body contains not serializable objects, they will be skipped.
-
-|`transacted` |`false`| if set to true then the consumer runs in transaction
-mode, where the messages in the seda queue will only be removed if the
-transaction commits, which happens when the processing is complete.
-|=======================================================================
-
-Java DSL :
-
-[source,java]
---------------------------
-from("hazelcast:seda:foo")
-.to("mock:result");
---------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------
-<route>
-  <from uri="hazelcast:seda:foo" />
-  <to uri="mock:result" />
-</route>
------------------------------------
-
-### Usage of Atomic Number
-
-* There is no consumer for this endpoint! *
-
-#### atomic number producer - to("hazelcast:atomicnumber:foo")
-
-An atomic number is an object that simply provides a grid wide number
-(long). The operations for this producer are setvalue (set the number
-with a given value), get, increase (+1), decrease (-1) and destroy.
-
-Header Variables for the request message:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|`CamelHazelcastOperationType` |`String` |valid values are: setvalue, get, 
increase, decrease, destroy 
-|=======================================================================
-
-[[HazelcastComponent-Sampleforset:]]
-Sample for *set*:
-
-Java DSL:
-
-[source,java]
------------------------------------------------------------------------------------------
-from("direct:set")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.SETVALUE_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
------------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:set" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>setvalue</constant>
-    </setHeader>
-    <to uri="hazelcast:atomicvalue:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-Provide the value to set inside the message body (here the value is 10):
-`template.sendBody("direct:set", 10);`
-
-[[HazelcastComponent-Sampleforget:.3]]
-Sample for *get*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:get")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.GET_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
-------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:get" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>get</constant>
-    </setHeader>
-    <to uri="hazelcast:atomicvalue:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-You can get the number with
-`long body = template.requestBody("direct:get", null, Long.class);`.
-
-[[HazelcastComponent-Sampleforincrement:]]
-Sample for *increment*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------------
-from("direct:increment")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.INCREMENT_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
-------------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:increment" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>increment</constant>
-    </setHeader>
-    <to uri="hazelcast:atomicvalue:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-The actual value (after increment) will be provided inside the message
-body.
-
-[[HazelcastComponent-Samplefordecrement:]]
-Sample for *decrement*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------------
-from("direct:decrement")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.DECREMENT_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
-------------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:decrement" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>decrement</constant>
-    </setHeader>
-    <to uri="hazelcast:atomicvalue:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-The actual value (after decrement) will be provided inside the message
-body.
-
-[[HazelcastComponent-Samplefordestroy]]
-Sample for *destroy*
-
-Java DSL:
-
-[source,java]
-----------------------------------------------------------------------------------------
-from("direct:destroy")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.DESTROY_OPERATION))
-.toF("hazelcast:%sfoo", HazelcastConstants.ATOMICNUMBER_PREFIX);
-----------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:destroy" />
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>destroy</constant>
-    </setHeader>
-    <to uri="hazelcast:atomicvalue:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-### cluster support
-
-* This endpoint provides no producer! *
-
-### instance consumer - from("hazelcast:instance:foo")
-
-Hazelcast makes sense in one single "server node", but it's extremly
-powerful in a clustered environment. The instance consumer fires if a
-new cache instance will join or leave the cluster.
-
-Here's a sample:
-
-[source,java]
------------------------------------------------------------------------------------------
-fromF("hazelcast:%sfoo", HazelcastConstants.INSTANCE_PREFIX)
-.log("instance...")
-.choice()
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ADDED))
-        .log("...added")
-        .to("mock:added")
-    .otherwise()
-        .log("...removed")
-        .to("mock:removed");
------------------------------------------------------------------------------------------
-
-Each event provides the following information inside the message header:
-
-Header Variables inside the response message:
-
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|`CamelHazelcastListenerTime` |`Long` |time of the event in millis
-
-|`CamelHazelcastListenerType` |`String` |the map consumer sets here 
"instancelistener"
-
-|`CamelHazelcastListenerAction` |`String` |type of event - here *added* or 
*removed*.
-
-|`CamelHazelcastInstanceHost` |`String` | host name of the instance
-
-|`CamelHazelcastInstancePort` |`Integer` |port number of the instance
-|=======================================================================
-
-### Using hazelcast reference
-
-#### By its name
-
-[source,xml]
---------------------------------------------------------------------------------------------------------
-<bean id="hazelcastLifecycle" class="com.hazelcast.core.LifecycleService"
-      factory-bean="hazelcastInstance" factory-method="getLifecycleService"
-      destroy-method="shutdown" />
-
-<bean id="config" class="com.hazelcast.config.Config">
-    <constructor-arg type="java.lang.String" value="HZ.INSTANCE" />
-</bean>
-
-<bean id="hazelcastInstance" class="com.hazelcast.core.Hazelcast" 
factory-method="newHazelcastInstance">
-    <constructor-arg type="com.hazelcast.config.Config" ref="config"/>
-</bean>
-<camelContext xmlns="http://camel.apache.org/schema/spring";>
-    <route id="testHazelcastInstanceBeanRefPut">
-        <from uri="direct:testHazelcastInstanceBeanRefPut"/>
-        <setHeader headerName="CamelHazelcastOperationType">
-            <constant>put</constant>
-        </setHeader>
-        <to uri="hazelcast:map:testmap?hazelcastInstanceName=HZ.INSTANCE"/>
-    </route>
-
-    <route id="testHazelcastInstanceBeanRefGet">
-        <from uri="direct:testHazelcastInstanceBeanRefGet" />
-        <setHeader headerName="CamelHazelcastOperationType">
-            <constant>get</constant>
-        </setHeader>
-        <to uri="hazelcast:map:testmap?hazelcastInstanceName=HZ.INSTANCE"/>
-        <to uri="seda:out" />
-    </route>
-</camelContext>
---------------------------------------------------------------------------------------------------------
-
-#### By instance
-
-[source,xml]
-------------------------------------------------------------------------------
-<bean id="hazelcastInstance" class="com.hazelcast.core.Hazelcast"
-      factory-method="newHazelcastInstance" />
-<bean id="hazelcastLifecycle" class="com.hazelcast.core.LifecycleService"
-      factory-bean="hazelcastInstance" factory-method="getLifecycleService"
-      destroy-method="shutdown" />
-
-<camelContext xmlns="http://camel.apache.org/schema/spring";>
-    <route id="testHazelcastInstanceBeanRefPut">
-        <from uri="direct:testHazelcastInstanceBeanRefPut"/>
-        <setHeader headerName="CamelHazelcastOperationType">
-            <constant>put</constant>
-        </setHeader>
-        <to uri="hazelcast:map:testmap?hazelcastInstance=#hazelcastInstance"/>
-    </route>
-
-    <route id="testHazelcastInstanceBeanRefGet">
-        <from uri="direct:testHazelcastInstanceBeanRefGet" />
-        <setHeader headerName="CamelHazelcastOperationType">
-            <constant>get</constant>
-        </setHeader>
-        <to uri="hazelcast:map:testmap?hazelcastInstance=#hazelcastInstance"/>
-        <to uri="seda:out" />
-    </route>
-</camelContext>
-------------------------------------------------------------------------------
-
-### Publishing hazelcast instance as an OSGI service
-
-If operating in an OSGI container and you would want to use one instance
-of hazelcast across all bundles in the same container. You can publish
-the instance as an OSGI service and bundles using the cache al need is
-to reference the service in the hazelcast endpoint.
-
-#### Bundle A create an instance and publishes it as an OSGI service
-
- 
-
-[source,xml]
---------------------------------------------------------------------------------------------------------
-<bean id="config" class="com.hazelcast.config.FileSystemXmlConfig">
-    <argument type="java.lang.String" value="${hazelcast.config}"/>
-</bean>
-
-<bean id="hazelcastInstance" class="com.hazelcast.core.Hazelcast" 
factory-method="newHazelcastInstance">
-    <argument type="com.hazelcast.config.Config" ref="config"/>
-</bean>
-
-<!-- publishing the hazelcastInstance as a service -->
-<service ref="hazelcastInstance" 
interface="com.hazelcast.core.HazelcastInstance" />
---------------------------------------------------------------------------------------------------------
-
-#### Bundle B uses the instance
-
-[source,xml]
---------------------------------------------------------------------------------------
-<!-- referencing the hazelcastInstance as a service -->
-<reference ref="hazelcastInstance" 
interface="com.hazelcast.core.HazelcastInstance" />
-
-<camelContext xmlns="http://camel.apache.org/schema/blueprint";>
-    <route id="testHazelcastInstanceBeanRefPut">
-        <from uri="direct:testHazelcastInstanceBeanRefPut"/>
-        <setHeader headerName="CamelHazelcastOperationType">
-            <constant>put</constant>
-        </setHeader>
-        <to uri="hazelcast:map:testmap?hazelcastInstance=#hazelcastInstance"/>
-    </route>
-
-    <route id="testHazelcastInstanceBeanRefGet">
-        <from uri="direct:testHazelcastInstanceBeanRefGet" />
-        <setHeader headerName="CamelHazelcastOperationType">
-            <constant>get</constant>
-        </setHeader>
-        <to uri="hazelcast:map:testmap?hazelcastInstance=#hazelcastInstance"/>
-        <to uri="seda:out" />
-    </route>
-</camelContext>
---------------------------------------------------------------------------------------
-
-### Usage of Replicated map
-
-*Avalaible from Camel 2.16*
-
-#### replicatedmap cache producer
-
-A replicated map is a weakly consistent, distributed key-value data
-structure with no data partition. The replicatedmap producer provides 4
-operations (put, get, delete, clear).
-
-Header Variables for the request message:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|`CamelHazelcastOperationType` |`String` | valid values are: put, get, 
removevalue, delete
-
-|`CamelHazelcastObjectId` |`String` | the object id to store / find your 
object inside the cache
-|=======================================================================
-
-[[HazelcastComponent-Sampleforput:.3]]
-Sample for *put*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:put")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.PUT_OPERATION))
-.to(String.format("hazelcast:%sbar", HazelcastConstants.REPLICATEDMAP_PREFIX));
-------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:put" />
-    <log message="put.."/>
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>put</constant>
-    </setHeader>
-    <to uri="hazelcast:replicatedmap:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforget:.4]]
-Sample for *get*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:get")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.GET_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.REPLICATEDMAP_PREFIX)
-.to("seda:out");
-------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:get" />
-    <log message="get.."/>
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>get</constant>
-    </setHeader>
-    <to uri="hazelcast:replicatedmap:foo" />
-    <to uri="seda:out" />
-</route>
------------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Samplefordelete:.2]]
-Sample for *delete*:
-
-Java DSL:
-
-[source,java]
----------------------------------------------------------------------------------------
-from("direct:delete")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.DELETE_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.REPLICATEDMAP_PREFIX);
----------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:delete" />
-    <log message="delete.."/>
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>delete</constant>
-    </setHeader>
-    <to uri="hazelcast:replicatedmap:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-you can call them in your test class with:
-
-[source,java]
-------------------------------------------------------------------------------------------------------------
-template.sendBodyAndHeader("direct:[put|get|delete|clear]", "my-foo", 
HazelcastConstants.OBJECT_ID, "4711");
-------------------------------------------------------------------------------------------------------------
-
-#### replicatedmap cache consumer
-
-For the multimap cache this component provides the same listeners /
-variables as for the map cache consumer (except the update and enviction
-listener). The only difference is the *multimap* prefix inside the URI.
-Here is a sample:
-
-[source,java]
---------------------------------------------------------------------------------------------------
-fromF("hazelcast:%sbar", HazelcastConstants.MULTIMAP_PREFIX)
-.log("object...")
-.choice()
-    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ADDED))
-        .log("...added")
-                .to("mock:added")
-        
//.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ENVICTED))
-        //        .log("...envicted")
-        //        .to("mock:envicted")
-        
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.REMOVED))
-                .log("...removed")
-                .to("mock:removed")
-        .otherwise()
-                .log("fail!");
---------------------------------------------------------------------------------------------------
-
-Header Variables inside the response message:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|`CamelHazelcastListenerTime` |`Long` |time of the event in millis
-
-|`CamelHazelcastListenerType` |`String` |the map consumer sets here 
"cachelistener"
-
-|`CamelHazelcastListenerAction` |`String` |type of event - here *added* and 
*removed* (and soon *envicted*)
-
-|`CamelHazelcastObjectId` |`String` | the oid of the object
-
-|`CamelHazelcastCacheName` |`String` |the name of the cache - e.g. "foo"
-
-|`CamelHazelcastCacheType` |`String` |the type of the cache - here 
replicatedmap
-|=======================================================================
-
-### Usage of Ringbuffer
-
-*Avalaible from Camel 2.16*
-
-#### ringbuffer cache producer 
-
-Ringbuffer is a distributed data structure where the data is stored in a
-ring-like structure. You can think of it as a circular array with a
-certain capacity. The ringbuffer producer provides 5 operations (add,
-readonceHead, readonceTail, remainingCapacity, capacity).
-
-Header Variables for the request message:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Name |Type |Description
-
-|`CamelHazelcastOperationType` |`String` |valid values are: put, get, 
removevalue, delete
-
-|`CamelHazelcastObjectId` |`String` |the object id to store / find your object 
inside the cache
-|=======================================================================
-
-[[HazelcastComponent-Sampleforput:.4]]
-Sample for *put*:
-
-Java DSL:
-
-[source,java]
-------------------------------------------------------------------------------------
-from("direct:put")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.ADD_OPERATION))
-.to(String.format("hazelcast:%sbar", HazelcastConstants.RINGBUFFER_PREFIX));
-------------------------------------------------------------------------------------
-
-Spring DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-<route>
-    <from uri="direct:put" />
-    <log message="put.."/>
-        <!-- If using version 2.8 and above set headerName to 
"CamelHazelcastOperationType" -->
-    <setHeader headerName="hazelcast.operation.type">
-        <constant>add</constant>
-    </setHeader>
-    <to uri="hazelcast:ringbuffer:foo" />
-</route>
------------------------------------------------------------------------------------------------
-
-[[HazelcastComponent-Sampleforreadoncefromhead:]]
-Sample for *readonce from head*:
-
-Java DSL:
-
-[source,java]
------------------------------------------------------------------------------------------------
-from("direct:get")
-.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.READ_ONCE_HEAD_OPERATION))
-.toF("hazelcast:%sbar", HazelcastConstants.RINGBUFFER_PREFIX)
-.to("seda:out");
------------------------------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/bf10d278/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
----------------------------------------------------------------------
diff --git 
a/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc 
b/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
new file mode 100644
index 0000000..255e50e
--- /dev/null
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
@@ -0,0 +1,100 @@
+## Hazelcast Instance Component
+
+*Available as of Camel version 2.7*
+
+The http://www.hazelcast.com/[Hazelcast] instance component is one of 
link:hazelcast.html[Camel Hazelcast Components] which allows you to consume 
join/leave events of the cache instance in the cluster.
+Hazelcast makes sense in one single "server node", but it's extremly powerful 
in a clustered environment.
+
+*This endpoint provides no producer!*
+
+
+### Options
+
+// component options: START
+The Hazelcast Instance component supports 3 options which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|=======================================================================
+| Name | Description | Default | Type
+| **hazelcastInstance** (advanced) | The hazelcast instance reference which 
can be used for hazelcast endpoint. If you don't specify the instance reference 
camel use the default hazelcast instance from the camel-hazelcast instance. |  
| HazelcastInstance
+| **hazelcastMode** (advanced) | The hazelcast mode reference which kind of 
instance should be used. If you don't specify the mode then the node mode will 
be the default. | node | String
+| **resolveProperty Placeholders** (advanced) | Whether the component should 
resolve property placeholders on itself when starting. Only properties which 
are of String type can use property placeholders. | true | boolean
+|=======================================================================
+// component options: END
+// endpoint options: START
+The Hazelcast Instance endpoint is configured using URI syntax:
+
+    hazelcast-instance:cacheName
+
+with the following path and query parameters:
+
+#### Path Parameters (1 parameters):
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|=======================================================================
+| Name | Description | Default | Type
+| **cacheName** | *Required* The name of the cache |  | String
+|=======================================================================
+
+#### Query Parameters (12 parameters):
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|=======================================================================
+| Name | Description | Default | Type
+| **reliable** (common) | Define if the endpoint will use a reliable Topic 
struct or not. | false | boolean
+| **bridgeErrorHandler** (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages or the likes will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions that will be logged at WARN or ERROR level and ignored. | false | 
boolean
+| **defaultOperation** (consumer) | To specify a default operation to use if 
no operation header has been provided. |  | String
+| **hazelcastInstance** (consumer) | The hazelcast instance reference which 
can be used for hazelcast endpoint. |  | HazelcastInstance
+| **hazelcastInstanceName** (consumer) | The hazelcast instance reference name 
which can be used for hazelcast endpoint. If you don't specify the instance 
reference camel use the default hazelcast instance from the camel-hazelcast 
instance. |  | String
+| **exceptionHandler** (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
options is not in use. By default the consumer will deal with exceptions that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| **exchangePattern** (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. |  | ExchangePattern
+| **synchronous** (advanced) | Sets whether synchronous processing should be 
strictly used or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
+| **concurrentConsumers** (seda) | To use concurrent consumers polling from 
the SEDA queue. | 1 | int
+| **pollTimeout** (seda) | The timeout used when consuming from the SEDA 
queue. When a timeout occurs the consumer can check whether it is allowed to 
continue running. Setting a lower value allows the consumer to react more 
quickly upon shutdown. | 1000 | int
+| **transacted** (seda) | If set to true then the consumer runs in transaction 
mode where the messages in the seda queue will only be removed if the 
transaction commits which happens when the processing is complete. | false | 
boolean
+| **transferExchange** (seda) | If set to true the whole Exchange will be 
transfered. If header or body contains not serializable objects they will be 
skipped. | false | boolean
+|=======================================================================
+// endpoint options: END
+
+
+
+### instance consumer - from("hazelcast-instance:foo")
+
+ The instance consumer fires if a new cache instance will join or leave the 
cluster.
+ 
+Here's a sample:
+
+[source,java]
+-----------------------------------------------------------------------------------------
+fromF("hazelcast-%sfoo", HazelcastConstants.INSTANCE_PREFIX)
+.log("instance...")
+.choice()
+    
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ADDED))
+        .log("...added")
+        .to("mock:added")
+    .otherwise()
+        .log("...removed")
+        .to("mock:removed");
+-----------------------------------------------------------------------------------------
+
+Each event provides the following information inside the message header:
+
+Header Variables inside the response message:
+
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Name |Type |Description
+
+|`CamelHazelcastListenerTime` |`Long` |time of the event in millis
+
+|`CamelHazelcastListenerType` |`String` |the map consumer sets here 
"instancelistener"
+
+|`CamelHazelcastListenerAction` |`String` |type of event - here *added* or 
*removed*.
+
+|`CamelHazelcastInstanceHost` |`String` | host name of the instance
+
+|`CamelHazelcastInstancePort` |`Integer` |port number of the instance
+|=======================================================================

http://git-wip-us.apache.org/repos/asf/camel/blob/bf10d278/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
----------------------------------------------------------------------
diff --git 
a/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc 
b/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
new file mode 100644
index 0000000..e877495
--- /dev/null
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
@@ -0,0 +1,129 @@
+## Hazelcast List Component
+
+*Available as of Camel version 2.7*
+
+The http://www.hazelcast.com/[Hazelcast] List component is one of 
link:hazelcast.html[Camel Hazelcast Components] which allows you to access 
Hazelcast distributed list.
+
+### Options
+
+// component options: START
+The Hazelcast List component supports 3 options which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|=======================================================================
+| Name | Description | Default | Type
+| **hazelcastInstance** (advanced) | The hazelcast instance reference which 
can be used for hazelcast endpoint. If you don't specify the instance reference 
camel use the default hazelcast instance from the camel-hazelcast instance. |  
| HazelcastInstance
+| **hazelcastMode** (advanced) | The hazelcast mode reference which kind of 
instance should be used. If you don't specify the mode then the node mode will 
be the default. | node | String
+| **resolveProperty Placeholders** (advanced) | Whether the component should 
resolve property placeholders on itself when starting. Only properties which 
are of String type can use property placeholders. | true | boolean
+|=======================================================================
+// component options: END
+// endpoint options: START
+The Hazelcast List endpoint is configured using URI syntax:
+
+    hazelcast-list:cacheName
+
+with the following path and query parameters:
+
+#### Path Parameters (1 parameters):
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|=======================================================================
+| Name | Description | Default | Type
+| **cacheName** | *Required* The name of the cache |  | String
+|=======================================================================
+
+#### Query Parameters (12 parameters):
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|=======================================================================
+| Name | Description | Default | Type
+| **defaultOperation** (common) | To specify a default operation to use if no 
operation header has been provided. |  | String
+| **hazelcastInstance** (common) | The hazelcast instance reference which can 
be used for hazelcast endpoint. |  | HazelcastInstance
+| **hazelcastInstanceName** (common) | The hazelcast instance reference name 
which can be used for hazelcast endpoint. If you don't specify the instance 
reference camel use the default hazelcast instance from the camel-hazelcast 
instance. |  | String
+| **reliable** (common) | Define if the endpoint will use a reliable Topic 
struct or not. | false | boolean
+| **bridgeErrorHandler** (consumer) | Allows for bridging the consumer to the 
Camel routing Error Handler which mean any exceptions occurred while the 
consumer is trying to pickup incoming messages or the likes will now be 
processed as a message and handled by the routing Error Handler. By default the 
consumer will use the org.apache.camel.spi.ExceptionHandler to deal with 
exceptions that will be logged at WARN or ERROR level and ignored. | false | 
boolean
+| **exceptionHandler** (consumer) | To let the consumer use a custom 
ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this 
options is not in use. By default the consumer will deal with exceptions that 
will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| **exchangePattern** (consumer) | Sets the exchange pattern when the consumer 
creates an exchange. |  | ExchangePattern
+| **synchronous** (advanced) | Sets whether synchronous processing should be 
strictly used or Camel is allowed to use asynchronous processing (if 
supported). | false | boolean
+| **concurrentConsumers** (seda) | To use concurrent consumers polling from 
the SEDA queue. | 1 | int
+| **pollTimeout** (seda) | The timeout used when consuming from the SEDA 
queue. When a timeout occurs the consumer can check whether it is allowed to 
continue running. Setting a lower value allows the consumer to react more 
quickly upon shutdown. | 1000 | int
+| **transacted** (seda) | If set to true then the consumer runs in transaction 
mode where the messages in the seda queue will only be removed if the 
transaction commits which happens when the processing is complete. | false | 
boolean
+| **transferExchange** (seda) | If set to true the whole Exchange will be 
transfered. If header or body contains not serializable objects they will be 
skipped. | false | boolean
+|=======================================================================
+// endpoint options: END
+
+
+### List producer – to(“hazelcast-list:foo”)
+
+The list producer provides 7 operations:
+* add
+* addAll
+* set
+* get
+* removevalue
+* removeAll
+* clear
+
+#### Sample for *add*:
+
+[source,java]
+------------------------------------------------------------------------------------
+from("direct:add")
+.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.ADD_OPERATION))
+.toF("hazelcast-%sbar", HazelcastConstants.LIST_PREFIX);
+------------------------------------------------------------------------------------
+
+#### Sample for *get*:
+
+[source,java]
+------------------------------------------------------------------------------------
+from("direct:get")
+.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.GET_OPERATION))
+.toF("hazelcast-%sbar", HazelcastConstants.LIST_PREFIX)
+.to("seda:out");
+------------------------------------------------------------------------------------
+
+#### Sample for *setvalue*:
+
+[source,java]
+-----------------------------------------------------------------------------------------
+from("direct:set")
+.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.SETVALUE_OPERATION))
+.toF("hazelcast-%sbar", HazelcastConstants.LIST_PREFIX);
+-----------------------------------------------------------------------------------------
+
+#### Sample for *removevalue*:
+
+[source,java]
+--------------------------------------------------------------------------------------------
+from("direct:removevalue")
+.setHeader(HazelcastConstants.OPERATION, 
constant(HazelcastConstants.REMOVEVALUE_OPERATION))
+.toF("hazelcast-%sbar", HazelcastConstants.LIST_PREFIX);
+--------------------------------------------------------------------------------------------
+
+Note that *CamelHazelcastObjectIndex* header is used for indexing
+purpose.
+
+
+### List consumer – from(“hazelcast-list:foo”)
+
+The list consumer provides 2 operations:
+* add
+* remove
+
+[source,java]
+-----------------------------------------------------------------------------------------------
+fromF("hazelcast-%smm", HazelcastConstants.LIST_PREFIX)
+    .log("object...")
+    .choice()
+        
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.ADDED))
+            .log("...added")
+                        .to("mock:added")
+        
.when(header(HazelcastConstants.LISTENER_ACTION).isEqualTo(HazelcastConstants.REMOVED))
+            .log("...removed")
+                        .to("mock:removed")
+                .otherwise()
+                        .log("fail!");
+-----------------------------------------------------------------------------------------------

Reply via email to