[[atomix-map-component]]
= Atomix Map Component
:page-source: components/camel-atomix/src/main/docs/atomix-map-component.adoc

*Available as of Camel version 2.20*

The camel Atomix-Map component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedMap/[Distributed Map] collection.

Maven users will need to add the following dependency to their pom.xml for this component:

[source,java]
----
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-atomix</artifactId>
        <version>${camel-version}</version>
    </dependency>
----

== URI format

[source,java]
----
    atomix-map:mapName
----

== Options

// component options: START
The Atomix Map component supports 5 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *configuration* (common) | The shared component configuration |  | AtomixMapConfiguration
| *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
| *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
|===
// component options: END

// endpoint options: START
The Atomix Map endpoint is configured using URI syntax:

----
atomix-map:resourceName
----

with the following path and query parameters:

=== Path Parameters (1 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *resourceName* | *Required* The distributed resource name |  | String
|===


=== Query Parameters (20 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *atomix* (common) | The Atomix instance to use |  | Atomix
| *configurationUri* (common) | The Atomix configuration uri. |  | String
| *defaultAction* (common) | The default action. | PUT | Action
| *key* (common) | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
| *nodes* (common) | The address of the nodes composing the cluster. |  | String
| *resultHeader* (common) | The header that wil carry the result. |  | String
| *transportClassName* (common) | The class name (fqn) of the Atomix transport | io.atomix.catalyst.transport.netty.NettyTransport | String
| *ttl* (common) | The resource ttl. |  | long
| *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 option 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
| *lazyStartProducer* (producer) | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | boolean
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
| *readConsistency* (advanced) | The read consistency level. |  | ReadConsistency
| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
| *resourceOptions* (advanced) | Local resources configurations |  | Map
| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
|===
// endpoint options: END
// spring-boot-auto-configure options: START
== Spring Boot Auto-Configuration

When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:

[source,xml]
----
<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-atomix-starter</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>
----


The component supports 9 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *camel.component.atomix-map.atomix* | The shared AtomixClient instance. The option is a io.atomix.AtomixClient type. |  | String
| *camel.component.atomix-map.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
| *camel.component.atomix-map.configuration-uri* | The path to the AtomixClient configuration |  | String
| *camel.component.atomix-map.configuration.default-action* | The default action. |  | AtomixMap$Action
| *camel.component.atomix-map.configuration.key* | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
| *camel.component.atomix-map.configuration.result-header* | The header that wil carry the result. |  | String
| *camel.component.atomix-map.configuration.ttl* | The resource ttl. |  | Long
| *camel.component.atomix-map.enabled* | Whether to enable auto configuration of the atomix-map component. This is enabled by default. |  | Boolean
| *camel.component.atomix-map.nodes* | The nodes the AtomixClient should connect to |  | List
|===
// spring-boot-auto-configure options: END


== Headers

[width="100%",cols="10%,10%,20%a,60%",options="header",]
|===
| Name
| Type
| Values
| Description

| CamelAtomixResourceAction
| AtomixMap.Action
| * PUT
  * PUT_IF_ABSENT
  * GET
  * CLEAR
  * SIZE
  * CONTAINS_KEY
  * CONTAINS_VALUE
  * IS_EMPTY
  * ENTRY_SET
  * REMOVE
  * REPLACE
  * VALUES
| The action to perform

| CamelAtomixResourceKey
| Object
| -
| The key to operate on

| CamelAtomixResourceValue
| Object
| -
| The value, if missing In Body is used

| CamelAtomixResourceOldValue
| Object
| -
| The old value

| CamelAtomixResourceTTL
| String / long
| -
| The entry TTL

| CamelAtomixResourceReadConsistency
| ReadConsistency
| * ATOMIC
  * ATOMIC_LEASE
  * SEQUENTIAL
  * LOCAL
| The read consistency level

|===

== Configuring the component to connect to an Atomix cluster

The nodes of the Atomix cluster you want to join can be se at Endpoint or component level (recommended), below some examples:

* *Endpoint:*
+
[source,xml]
----
<beans xmlns="...">
    <camelContext xmlns="http://camel.apache.org/schema/spring">
        <from uri="direct:start"/>
            <to uri="atomix-map:myMap?nodes=node-1.atomix.cluster:8700,node-2.atomix.cluster:8700"/>
        </route>
    </camelContext>
</beans>
----

* *Component:*
+
[source,xml]
----
<beans xmlns="...">
    <bean id="atomix-map" class="org.apache.camel.component.atomix.client.map.AtomixMapComponent">
        <property name="nodes" value="nodes=node-1.atomix.cluster:8700,node-2.atomix.cluster:8700"/>
    </bean>

    <camelContext xmlns="http://camel.apache.org/schema/spring">
        <from uri="direct:start"/>
            <to uri="atomix-map:myMap"/>
        </route>
    </camelContext>
</beans>
----

== Usage examples:

* *PUT an element with TTL of 1 second:*
+
[source,java]
----
FluentProducerTemplate.on(context)
    .withHeader(AtomixClientConstants.RESOURCE_ACTION, AtomixMap.Action.PUT)
    .withHeader(AtomixClientConstants.RESOURCE_KEY, key)
    .withHeader(AtomixClientConstants.RESOURCE_TTL, "1s")
    .withBody(val)
    .to("direct:start")
    .send();
----
