如何实现sockettimeoutexception从ret ret模板中实现弹簧重试



我想在REST模板中使用'SockettimeOutException'的Spring Retry功能。

但是春季休息模板像波纹管一样投掷:org.springframework.web.client.ResourceAccessException:i/o错误:读取时间;嵌套例外是Java.net.sockettimeoutexception:阅读时间

我在重试模板映射中添加了sockettimeoutexception。春季重试只有在重试模板地图中添加sockettimeoutexception或我还需要添加resourceaccessexception。

您需要使用具有traverseCauses选项集的自定义SimpleRetryPolicy。然后,它不仅要查看顶级异常,还会检查原因层次结构以寻找匹配。

/**
 * Create a {@link SimpleRetryPolicy} with the specified number of retry
 * attempts. If traverseCauses is true, the exception causes will be traversed until
 * a match is found.
 *
 * @param maxAttempts the maximum number of attempts
 * @param retryableExceptions the map of exceptions that are retryable based on the
 * map value (true/false).
 * @param traverseCauses is this clause traversable
 */
public SimpleRetryPolicy(int maxAttempts, Map<Class<? extends Throwable>, Boolean> retryableExceptions,
        boolean traverseCauses) {
    this(maxAttempts, retryableExceptions, traverseCauses, false);
}

相关内容

  • 没有找到相关文章

最新更新