Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 11. Atlasmap Component
Only producer is supported.
You can use the AtlasMap component to process data mapping using an AtlasMap data mapping definition. When you export the AtlasMap mapping from the AtlasMap Data Mapper UI, it is packaged as an ADM archive file.
NOTE: Although it is possible to load a mapping definition JSON file that is not packaged into an ADM archive file, some features will not work. We recommend that you always use the ADM archive file for production purposes.
To use the component with Maven, add the following dependency to your pom.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 Apache Daffodil module DFDL module:
<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>
11.1. URI format
atlas:mappingName[?options]
The mappingName is the classpath-local URI of the AtlasMap mapping definition to process, either an ADM archive file (preferably) or a mapping definition JSON file.
11.2. Configuring Options
Camel components are configured on two separate levels:
- component level
- endpoint level
11.2.1. Configuring Component Level Options
The component level is the highest configuration level. It contains general and common configurations for all endpoints.
You can configure components with the Component DSL, in a configuration file (application.properties|yaml), or directly with Java code.
Some components only have a few options, and others may have many. A component may have security settings, credentials for authentication, URLs for network connection, and so on.
Components typically have preconfigured defaults for the most common cases, so you may not need to configure any options, or only configure a few.
11.2.2. Component Options
The AtlasMap component supports 4 options:
Name | Description | Comment | Default | Type |
---|---|---|---|---|
lazyStartProducer (producer) | Lazy start of the producer. The producer starts on the first message. | Allows CamelContext and routes to start in situations where a producer fails to start and causes the route to fail. When lazy start is enabled, you can handle failures during routing messages via Camel’s routing error handlers. When the first message is processed then creating and starting the producer may prolong the total processing time. | false | boolean |
atlasContextFactory (advanced) | To use the AtlasContextFactory, otherwise a new engine is created. | AtlasContextFactory | autowiredEnabled (advanced) | |
Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuration of JDBC data sources, JMS connection factories, AWS Clients, and so on. | true | boolean | propertiesFile (advanced) | The URI of the properties file used for AtlasContextFactory initialization. |
11.2.3. Configuring Endpoint Level Options
At the endpoint level contains configurations for the endpoints themselves.
You can configure endpoints directly in the endpoint URI as path and query parameters. You can also use the Endpoint DSL and Data Format DSL as type safe ways of configuring endpoints in Java.
Endpoints often have many options that configure what you need the endpoint to do.
Endpoint options are categorized by their use, either as a consumer (from
) or producer (to
), or both.
A good practice when configuring options is to use Property Placeholders instead of hardcoded settings for urls, port numbers, and sensitive information.
Use placeholders to externalize the configuration from your code to make it more flexible and reusable.
11.2.4. Endpoint Options
The Apache Camel Component Reference endpoint is configured using URI syntax, with path and query parameters:
atlas:resourceUri
11.2.4.1. Path Parameters (1 parameters)
Name | Description | Default | Type |
resourceUri (producer) |
Required Path to the resource. You can prefix with:
The prefix |
| String |
11.2.4.2. Query Parameters (7 parameters)
Name | Description | Comments | Default | Type |
allowContextMapAll (producer) | Allow access to all context map details. By default, only access to message body and headers is allowed. |
When enabled, | false | boolean |
contentCache (producer) | Use the resource content cache. | false | boolean | |
forceReload (producer) | Use force reload mode. This loads the ADM from a file on every Exchange. | By default, the ADM file is loaded from a file only on a first Exchange, and AtlasContext will be reused until the endpoint is recreated. | false | boolean |
lazyStartProducer (producer)(advanced) | Lazy start of the producer. The producer starts on the first message. | Allows CamelContext and routes to start in situations where a producer fails to start and causes the route to fail. When lazy start is enabled, you can handle failures during routing messages via Camel’s routing error handlers. When the first message is processed, creating and starting the producer may prolong the total processing time. | false | boolean |
sourceMapName (producer) |
The Exchange property name for a source message map which holds a | AtlasMap consumes Message bodies as source documents, as well as message headers as source properties where the scope is equal to the Document ID. | String | |
targetMapMode (producer) |
Enum values: * MAP * MESSAGE_HEADER * EXCHANGE_PROPERTY |
|
| TargetMapMode |
11.3. Examples
11.3.1. Producer Example
The following example shows an export of and ADM archive file from AtlasMap Data Mapper UI:
from("activemq:My.Queue"). to("atlas:atlasmap-mapping.adm");
The Apache Camel Component Reference endpoint has no path parameters.