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

Spring Boot集成Redisson时读取clusterServersConfig配置报错

问题分析与解决方案

错误原因

Redisson Spring Boot Starter 默认会将 spring.redis.redisson.config 字段的字符串内容当作 JSON格式 解析,而你配置的是YAML语法结构,Jackson在解析时无法识别YAML的键值对格式,因此抛出Unrecognized token 'clusterServersConfig'错误。

解决方案

有两种可行的修复方式:

方式1:指定配置类型为YAML

在application.yml中添加config-type: yaml,明确告诉Redisson使用YAML格式解析配置内容:

redis:
  redisson:
    config-type: yaml  # 新增此配置项
    config: |
      clusterServersConfig:
        idleConnectionTimeout: 10000
        connectTimeout: ${REDISSON_CONNECT_TIMEOUT:20000}
        timeout: ${REDISSON_TIMEOUT:3000}
        retryAttempts: ${REDISSON_RETRY_ATTEMPTS:3}
        retryInterval: ${REDISSON_RETRY_INTERVAL:1500}
        subscriptionConnectionPoolSize: ${REDISSON_SUBSCRIPTION_POOL_SIZE:50}
        slaveConnectionMinimumIdleSize: ${REDISSON_SLAVE_MIN_IDLE_SIZE:24}
        slaveConnectionPoolSize: ${REDISSON_SLAVE_POOL_SIZE:48}
        masterConnectionMinimumIdleSize: ${REDISSON_MASTER_MIN_IDLE_SIZE:24}
        masterConnectionPoolSize: ${REDISSON_MASTER_POOL_SIZE:48}
        nodeAddresses: 
          - "rediss://${APPS_REDIS:-}:${APPS_REDIS_PORT:6379}"
        password: ${APPS_REDIS_SECRET:-}
      threads: ${REDISSON_THREADS:16}        
      nettyThreads: ${REDISSON_NETTY_THREADS:96}

方式2:将配置内容转换为JSON格式

把原YAML结构转成JSON格式,注意字符串转义:

redis:
  redisson:
    config: |
      {
        "clusterServersConfig": {
          "idleConnectionTimeout": 10000,
          "connectTimeout": ${REDISSON_CONNECT_TIMEOUT:20000},
          "timeout": ${REDISSON_TIMEOUT:3000},
          "retryAttempts": ${REDISSON_RETRY_ATTEMPTS:3},
          "retryInterval": ${REDISSON_RETRY_INTERVAL:1500},
          "subscriptionConnectionPoolSize": ${REDISSON_SUBSCRIPTION_POOL_SIZE:50},
          "slaveConnectionMinimumIdleSize": ${REDISSON_SLAVE_MIN_IDLE_SIZE:24},
          "slaveConnectionPoolSize": ${REDISSON_SLAVE_POOL_SIZE:48},
          "masterConnectionMinimumIdleSize": ${REDISSON_MASTER_MIN_IDLE_SIZE:24},
          "masterConnectionPoolSize": ${REDISSON_MASTER_POOL_SIZE:48},
          "nodeAddresses": ["rediss://${APPS_REDIS:-}:${APPS_REDIS_PORT:6379}"],
          "password": "${APPS_REDIS_SECRET:-}"
        },
        "threads": ${REDISSON_THREADS:16},
        "nettyThreads": ${REDISSON_NETTY_THREADS:96}
      }

验证说明

两种方式都能解决JSON解析错误问题,推荐使用方式1,因为YAML格式更易读,且和Spring Boot的配置风格保持一致。本地搭建的Redis集群环境无需额外调整,配置修复后即可正常启动项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 17:15:37