是否有可能在Hystrix中有选择地忽略服务异常?

时间:2017-12-08 05:21:16

标签: hystrix

我有客户端API jar,它在内部进行外部调用,并在出现问题时抛出单个通用服务异常。我已经在API调用上编写了hystrix包装器。有些例如“用户未找到”返回异常。虽然呼叫成功并且服务响应有效响应,但是hystrix将其视为失败。我知道我们可以忽略Hystrix中的异常;但它会将服务调用抛出的唯一异常列入白名单。有没有办法根据异常或http状态代码中的消息选择性地忽略服务调用抛出的异常?

1 个答案:

答案 0 :(得分:0)

如果外部服务在不同情况下抛出不同的异常,那么您可以忽略这些异常

.detach

但是如果你必须忽略基于错误消息的异常,那么解决这个问题的最佳方法是尝试捕获你的外部调用。并在catch块中检查它是否是需要忽略的异常之一。如果是这样,就什么都不做。如果不重新抛出此异常。像这样的东西会做。有关HystrixBadRequestException

的更多信息
 @HystrixCommand(ignoreExceptions = {SomeException.class})