需要为其中一个项目使用断路器,并为此目的使用hystrix。但是即使在超时后,也不会触发hystrix后备。如果有什么遗漏,请提供帮助。先感谢您。
https://github.com/Netflix/Hystrix/tree/master/hystrix-contrib/hystrix-javanica
public class TestHystrix {
@HystrixCommand(fallbackMethod="fallbackCallFunc",
commandProperties={
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "500")
})
public String callFunc() throws InterruptedException{
Thread.sleep(1050);
return "success";
}
public String fallbackCallFunc(){
return "default";
}
public static void main(String[] args) throws InterruptedException {
ConfigurationManager.getConfigInstance().setProperty("hystrix.command.callFunc.execution.isolation.thread.timeoutInMilliseconds", "500");
TestHysterix testClass = new TestHysterix();
System.out.println(testClass.callFunc());
}
}
最佳答案
您需要为您的项目配置Javanica。 javanica wiki上有说明
要将Javanica与Spring Boot结合使用,可以在以下位置找到简短指南
https://spring.io/guides/gs/circuit-breaker/