= AtlasMap Component
:doctitle: AtlasMap
:shortname: atlasmap
:artifactid: camel-atlasmap
:description: Transforms the message using an AtlasMap transformation.
:since: 3.7
:supportlevel: Stable
:component-header: Only producer is supported
//Manually maintained attributes
:camel-spring-boot-name: atlasmap

*Since Camel {since}*

*{component-header}*

The AtlasMap component allows you to process data mapping using an
http://www.atlasmap.io/[AtlasMap] data mapping definition. The AtlasMap mapping definition
is packaged as an ADM archive file when it is exported from the AtlasMap Data Mapper UI.
NOTE: Although it is possible to load mapping definition JSON file without being packaged into ADM archive file, some features will not work  in that way. It is recommended to always use ADM archive file for other than developer test purpose.

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

Optionally you can include the DFDL module, which is a POC for https://daffodil.apache.org/[Apache Daffodil]:
[source,xml]
------------------------------------------------------------
<dependency>
    <groupId>io.atlasmap</groupId>
    <artifactId>atlas-dfdl-module</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as atlasmap-core in camel-atlasmap -->
</dependency>
------------------------------------------------------------

== URI format

[source,java]
---------------------------
atlasmap:mappingName[?options]
---------------------------

Where *mappingName* is the classpath-local URI of the AtlasMap
mapping definition, either ADM archive file or mapping definition JSON file
 to process.

// component-configure options: START

// component-configure options: END

// component options: START
include::partial$component-configure-options.adoc[]
include::partial$component-endpoint-options.adoc[]
// component options: END

// endpoint options: START

// endpoint options: END

// component headers: START
include::partial$component-endpoint-headers.adoc[]
// component headers: END

== Examples

=== Producer Example

You could use something like

[source,java]
--------------------------------------
from("activemq:My.Queue").
  to("atlasmap:atlasmap-mapping.adm");
--------------------------------------

where you can export an ADM archive file from AtlasMap Data Mapper UI.



include::spring-boot:partial$starter.adoc[]
