当一个用HystrixCommand注释的方法调用另一个引发异常的方法时,Circuit Breaker不起作用



我有一个抽象类

public abstract class A {
public String makeSomething(String ingredients){
throw new RuntimeException("Can't Make anything");
}
}

这个类在另一个类B(Spring Service)中实现,该类通过传递Ingredients在自己的许多方法中使用makeSomething。类B中的每个方法都用HystrixCommand进行了注释,并为其定义了回退

@Service
public class B extends A {    
@HystrixCommand(fallbackMethod = "doNothing")
public void makeTea(String ingredients){
makeSomething(ingredients);
}
public void doNothing(String ingredients){
System.out.println("Doing Nothing");
}
}

现在,当调用类B中的makeTea时,它会从类A中调用makeSomething,然后抛出异常。这应该被包装为HystrixRuntimeException,然后应该调用回退。但我看到了RunTimeException("什么都做不了")。

根据您的描述,我认为Hystrix没有启用。

@EnableHystrix注释添加到Application类中,以便启用注释处理。

如果您启用了它,请提供一个更完整的示例,其中可以复制错误。

最新更新