java - Hystrix命令中的一些异常如何说Hystrix不触发fallback

标签 java hystrix netflix

我们通过直接扩展 HystrixCommand 类来使用 Hystrix 功能。但是对于一些业务异常,正在触发Hystrix的fallback方法。

我不想为某些特定于业务的异常触发 Hystrix 回退。如果不基于注释,我如何实现它?

最佳答案

使用 ignoreExceptions 注解参数

@HystrixCommand(ignoreExceptions = { BaseException.class, MissingServletRequestParameterException.class, TypeMismatchException.class })

参见 https://github.com/Netflix/Hystrix/tree/master/hystrix-contrib/hystrix-javanica#error-propagation

我看到您正在扩展 HystrixCommand 而不是使用注释,但这没关系,只需在命令中设置该属性,它应该具有相同的效果。

不幸的是,Hystrix 命令是由构建器模式创建的,因此您将不得不进行一些修改。在 HystrixCommandBuilder 中使用的 DefaultProperties.java 中添加了 ignoreExceptions

关于java - Hystrix命令中的一些异常如何说Hystrix不触发fallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44247070/

相关文章:

java - 如何在 Andengine 场景中居中背景

java swing addactionlistener JButton

eclipse - 无法在 Eclipse 中正确链接外部 Java 库

java - 将 Netflix Zuul 与 Netflix Hystrix 相结合

android - 启动 Netflix Android 应用程序

java - 包 org.apache.commons.io 不存在错误

java - 在这个包结构中,在哪里放置 Reader/Writer/Emailer ... *er 类?

java - Hystrix 与 MultiThreadedHttpConnectionManager

java - Camel 服务未按预期解析主机和端口

spring-cloud - Spring Cloud 断路器或 Hystrix