[[arangodb-component]]
= ArangoDb Component
//THIS FILE IS COPIED: EDIT THE SOURCE FILE:
:page-source: components/camel-arangodb/src/main/docs/arangodb-component.adoc
:docTitle: ArangoDb
:artifactId: camel-arangodb
:description: Perform operations on ArangoDb documents, collections and graphs.
:since: 3.5.0-SNAPSHOT
:supportLevel: Preview
:component-header: Only producer is supported

*Since Camel {since}*

*{component-header}*

The ArangoDb component is a ArangoDb client that uses the https://github.com/arangodb/arangodb-java-driver[arango java driver] to perform queries on collections and graphs in the ArangoDb database.

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-arangodb</artifactId>
    <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>
------------------------------------------------------------


== URI format

[source,java]
---------------------------
arangodb:database[?options]
---------------------------

== ArangoDB options


// component options: START
The ArangoDb component supports 9 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *collection* (producer) | collection in the database |  | String
| *configuration* (producer) | Component configuration |  | ArangoDbConfiguration
| *host* (producer) | host if host and/or port different from default |  | String
| *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
| *operation* (producer) | operation to perform. The value can be one of: SAVE_DOCUMENT, FIND_DOCUMENT_BY_KEY, UPDATE_DOCUMENT, DELETE_DOCUMENT, AQL_QUERY |  | ArangoDbOperation
| *port* (producer) | port if host and/or port different from default |  | int
| *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *password* (security) | password if user and/or password different from default |  | String
| *user* (security) | user if user and/or password different from default |  | String
|===
// component options: END

// endpoint options: START
The ArangoDb endpoint is configured using URI syntax:

----
arangodb:database
----

with the following path and query parameters:

=== Path Parameters (1 parameters):


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


=== Query Parameters (9 parameters):


[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *collection* (producer) | collection in the database |  | String
| *host* (producer) | host if host and/or port different from default |  | String
| *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
| *operation* (producer) | operation to perform. The value can be one of: SAVE_DOCUMENT, FIND_DOCUMENT_BY_KEY, UPDATE_DOCUMENT, DELETE_DOCUMENT, AQL_QUERY |  | ArangoDbOperation
| *port* (producer) | port if host and/or port different from default |  | int
| *basicPropertyBinding* (advanced) | Whether the endpoint should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
| *password* (security) | password if user and/or password different from default |  | String
| *user* (security) | user if user and/or password different from default |  | String
|===
// endpoint options: END

include::camel-spring-boot::page$arangodb-starter.adoc[]
