【问题标题】:resilience4j bulkhead skipping fallback method for certain type of exceptions对于某些类型的异常,resilience4j 舱壁跳过回退方法
【发布时间】:2020-10-19 15:23:41
【问题描述】:

我使用 reslience4j 隔板将活动线程数限制为我的一种服务方法。当线程限制超过配置时,它应该转到按预期发生的后备方法。

但是当验证失败时,作为我方法中业务逻辑的一部分,我会向我的消费者抛出带有自定义消息的 BadRequestException。当checkedException也发生时,这里的控件转到一个回退方法理想情况下不应该是这样。

那么我们是否有任何配置来跳过某些类型的异常的回退方法,类似于我们在 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;
} 

【问题讨论】:

    标签: java resilience4j


    【解决方案1】:

    只需使用不同的 fallbackMethod 签名:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-09
      • 1970-01-01
      • 2018-09-13
      相关资源
      最近更新 更多