【发布时间】:2019-11-06 17:31:26
【问题描述】:
我在 SpringBatch 的库依赖项中使用带有 @Retryable 注释的 Spring Retry 1.2.4。
在exceptionExpression 属性中,我指定了一个自定义异常的表达式#root.status.is5xxServerError(),我在include 属性中提到了该类。
但它会导致错误并显示以下消息:
org.springframework.retry.RetryException:处理时恢复器中不可跳过的异常;嵌套异常是 org.springframework.expression.spel.SpelEvaluationException: EL1001E: 类型转换问题,无法从 java.lang.String 转换为 java.lang.Boolean
我觉得奇怪的是批处理faultTolerant 配置似乎与库配置冲突,如果我在最终消息中查看“处理时恢复器中不可跳过的异常”。
此外,在 SpEL 表达式评估中进行调试时,我注意到没有根对象,也没有在 EvaluationContext 中设置任何变量,尽管它正在尝试解析 #root.status.is5xxServerError()。也许它与上面的观察有关。
感谢您的帮助
【问题讨论】:
标签: java spring-batch spring-retry