如何解决某些类型的异常的resilience4j隔板跳过后备方法
我使用reslience4j隔板将活动线程数限制为我的一种服务方法。当线程限制超出配置时,应转到一种预料不到的后备方法。
但是,当验证失败时,作为方法中业务逻辑的一部分,我向用户发出了带有自定义消息的BadRequestException。当checkedException发生得太多时,这里的控件将转为一个后备方法。理想情况下,情况并非如此。
那么,我们是否有任何配置可以跳过对某些类型的Exception的回退方法的控制,类似于我们在Hystrix中的处理方式?
@Bulkhead(name="bhName" fallbackMethod="fallbackMethod")
public void doSomething(){
//validatiion
// if validation succeeds
//do some business logic
// else if validation fails
throw BadRequestException("Error Message")
}
public void fallbackMethod(Exception ex){
log.info("The number of concurrency limit exceeded");
return null;
}
解决方法
只需使用其他fallbackMethod签名:
public void fallbackMethod(BulkheadFullException ex){
log.info("The number of concurrency limit exceeded");
return null;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。