我在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
配置似乎与库配置冲突。 / p>
在Spel表达式评估中进行调试时,尽管它试图解析#root.status.is5xxServerError()
,但我注意到没有root对象,在EvaluationContext中也没有设置任何变量。也许与上面的观察有关。
感谢帮助