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

Spring Boot集成Apache Camel与CouchDB启动时遇NumberFormatException求助

解决Camel连接CouchDB启动时的JsonSyntaxException/NumberFormatException问题

这个错误的核心原因很明确:你使用的Apache Camel CouchDB组件版本(2.24.2)不兼容CouchDB 2.x及以上版本的更新序列(update sequence)格式。

CouchDB 2.x之后,数据库的更新序列从原来的数字类型改成了字符串格式的UUID风格值(就是你错误日志里那个长串0-g1AAAAFTeJzLYWBg4MhgTmEQTM4vTc5ISXLIyU9OzMnILy7JAUox5bEASYYGIPX____5WYkMBNU-gKj9T4zaAxC19_GrTXIAkknxRJq5AGLmfgJmJoDMrCdoZpICSJ09QXWJDEnyEEVZAMsCby4),但旧版本的Camel CouchDB组件仍然尝试把它解析成数字,于是抛出了NumberFormatException。

解决方案步骤:

  1. 升级Camel依赖版本
    你需要把Camel相关组件升级到2.25.0及以上版本,因为从这个版本开始,Camel CouchDB组件修复了这个兼容性问题,支持解析字符串类型的更新序列。

  2. 修改pom.xml配置
    调整你的依赖版本,确保所有Camel相关依赖版本一致,比如改成2.25.0:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
    </parent>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-core</artifactId>
        <version>2.25.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-couchdb</artifactId>
        <version>2.25.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring-boot-starter</artifactId>
        <version>2.25.0</version>
    </dependency>
    
  3. 验证路由配置
    你的路由定义本身没有问题,但可以再确认一下:

    • CouchDB服务确实在127.0.0.1:5984运行
    • 目标数据库migration已经创建(你已经试过新数据库,这一步应该没问题)
    • 如果CouchDB开启了认证,需要在URL里带上用户名密码,格式是couchdb://user:password@127.0.0.1:5984/migration

额外注意点:

  • 如果你需要更稳定的版本,可以选择更高的Camel版本(比如3.x系列),但要注意和Spring Boot 2.0.3的兼容性(Camel 3.x最低支持Spring Boot 2.1.x,所以如果要升级到3.x,你可能需要同时升级Spring Boot版本到2.1及以上)。
  • 升级后清理Maven缓存(执行mvn clean install),确保新依赖被正确加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:07:43