Spring 为所有异常重试断路器打开

Spring Retry Circuit breaker opening for all exceptions

我正在尝试使用 Spring 重试断路器。我的要求是仅针对特定类型的重复异常打开电路。对于所有其他异常,我想在不打开电路的情况下将异常传递回调用者。我观察到的是电路对所有类型的异常开放,而不仅仅是特定的异常。想知道这是否是它设计的工作方式?

我的要求:当我调用远程服务时,我希望只在出现网络错误时才打开服务。如果我从远程服务收到任何数据验证错误,我只想将一个有意义的异常传递回业务层。

当我在玩这个框架时,我看到电路正在为所有异常打开。有人可以建议 Spring Retry Circuit breaker 是否可以实现上述要求?如果是,您能否指出一些示例代码?

提前致谢, B贾根

是;这就是它的工作方式;当您 includeexclude 异常类型时,它与最大尝试次数有关。

当抛出“可重试”异常时,在 openTimeout 内发生 maxAttempts 之前电路不会打开;如果异常不可重试,则电路会在第一次尝试时打开。

您需要自定义重试策略才能执行您想要的操作。