需要为其中一个项目使用断路器,并为此目的使用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/

10-02 03:38