某些类型的异常的resilience4j隔板跳过后备方法

时间:2020-10-09 13:09:53

标签: java 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;
} 

1 个答案:

答案 0 :(得分:0)

只需使用其他fallbackMethod签名:

public void fallbackMethod(BulkheadFullException ex){
   log.info("The number of concurrency limit exceeded");
   return null;
}