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

Resilience4j Retry配置忽略含$的异常时Groovy模板报错解决

解决YAML中Resilience4j配置含$的异常类名启动报错问题

问题核心是YAML解析时,$会被Spring当作属性占位符的起始标识,导致$BadRequest被误认为要读取名为BadRequest的配置属性,从而抛出缺失属性的错误。

有两种可靠的解决方式:

1. 用单引号包裹全类名

YAML中,单引号包裹的内容会被当作纯文本,不会解析其中的$为占位符。修改后的配置如下:

resilience4j.retry:
  instances:
    testA:
      maxAttempts: 5
      waitDuration: 100ms
      ignoreExceptions:
        - 'org.springframework.web.reactive.function.client.WebClientResponseException$BadRequest'
        - java.net.ConnectException
        - java.lang.ArithmeticException

2. 用双引号配合转义符

如果偏好双引号,可以用\转义$,此时\$会被解析为普通的$字符:

resilience4j.retry:
  instances:
    testA:
      maxAttempts: 5
      waitDuration: 100ms
      ignoreExceptions:
        - "org.springframework.web.reactive.function.client.WebClientResponseException\$BadRequest"
        - java.net.ConnectException
        - java.lang.ArithmeticException

推荐第一种单引号的方式,写法更简洁,也避免了转义符的额外处理,能确保Resilience4j正确识别嵌套异常类的全限定名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 15:45:46