You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Camel集成AtlasMap导入CSV至SQL时遇端点解析失败问题求助

问题:Camel AtlasMap组件无法自动创建,端点解析失败

我要实现CSV数据导入SQL数据库,配置了Camel YAML DSL路由,通过AtlasMap UI定义了CSV与数据库字段映射,导出的mapping.adm文件已放在资源目录。pom.xml里已经引入相关依赖,但运行时提示“Failed to resolve atlasmap或atlas端点”,无法自动创建atlasmap组件。试过把URI前缀改成atlas也没用,进程以退出码1终止。


路由配置

steps:
  - unmarshal:
      csv:
        delimiter: ","
  - to:
      uri: atlasmap:mapping.adm
  - to:
      uri: sql:INSERT INTO log (log_date, message) VALUES (:#date,
        :#message)?dataSource=#dataSource

pom.xml依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>3.3.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>3.3.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.camel.springboot</groupId>
        <artifactId>camel-spring-boot-starter</artifactId>
        <version>4.5.0</version>
    </dependency>
    <dependency>
        <groupId>com.oracle.database.jdbc</groupId>
        <artifactId>ojdbc11</artifactId>
        <version>23.4.0.24.05</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.17.1</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.17.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>6.1.6</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jdbc</artifactId>
        <version>9.0.30</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
        <version>3.3.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-atlasmap</artifactId>
        <version>3.20.1</version> 
    </dependency>
    <dependency>
        <groupId>org.apache.camel.springboot</groupId>
        <artifactId>camel-atlasmap-starter</artifactId>
        <version>3.20.1</version>
    </dependency>
</dependencies>

错误详情

org.apache.camel.FailedToCreateRouteException: Failed to create route CSVToDBLoader at: >>> DoTry[[Unmarshal[org.apache.camel.model.dataformat.CsvDataFormat@656c0eae], To[atlasmap:mapping.adm], To[sql:INSERT INTO log (log_date, message) VALUES (:#date, :#message)?dataSource=#dataSource]]] <<< in route: Route(CSVToDBLoader)[From[file-watch:{{base_directory}}{{inp... because of Failed to resolve endpoint: atlasmap://mapping.adm due to: Cannot auto create component: atlasmap
        at org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:234)
        ...
Caused by: java.lang.IllegalArgumentException: Cannot find component with name: atlasmap. Did you mean: hazelcast-map
        ...

解决方案

1. 修复版本不匹配问题

核心原因是Camel核心版本(4.5.0)与AtlasMap依赖版本(3.20.1)差异过大,Camel 4.x和3.x组件兼容性极差,必须保证所有Camel相关依赖版本一致。将AtlasMap依赖版本改为4.5.0:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-atlasmap</artifactId>
    <version>4.5.0</version> 
</dependency>
<dependency>
    <groupId>org.apache.camel.springboot</groupId>
    <artifactId>camel-atlasmap-starter</artifactId>
    <version>4.5.0</version>
</dependency>

2. 清理冗余依赖

pom中重复引入了spring-boot-starter-jdbc,删除其中一个避免冲突:

<!-- 删除该重复依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    <version>3.3.0</version>
</dependency>

3. 验证端点URI

Camel 4.x中AtlasMap的端点前缀仍为atlasmap,无需修改,保持原有路由配置即可。

4. 刷新依赖并重启

执行mvn clean install清理并重新构建项目,确保依赖正确下载后重启应用。


内容的提问来源于stack exchange,提问作者satheesh kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 02:05:59