Java Hystrix是否能够根据方法参数打开电路?

Java Hystrix是否能够根据方法参数打开电路?,java,hystrix,circuit-breaker,Java,Hystrix,Circuit Breaker,如果我有以下Hystrix命令: 公共类TimeoutDependengnParam扩展了HystrixCommand{ 私有最终字符串名; 公共TimeoutDependingOnParam(字符串名称){ super(HystrixCommandGroupKey.Factory.asKey(“ExampleGroup”); this.name=名称; } @凌驾 受保护的字符串运行(){ 如果(名称等于(“Looong”)){ 侍应生; } 返回“Hello”+name+“!”; } }

如果我有以下Hystrix命令:

公共类TimeoutDependengnParam扩展了HystrixCommand{
私有最终字符串名;
公共TimeoutDependingOnParam(字符串名称){
super(HystrixCommandGroupKey.Factory.asKey(“ExampleGroup”);
this.name=名称;
}
@凌驾
受保护的字符串运行(){
如果(名称等于(“Looong”)){
侍应生;
}
返回“Hello”+name+“!”;
}
}
召集人:

//没有“快速”超时
字符串s1=新的TimeoutDependingOnParam(“快速”).execute();
//“Looong”超时
字符串s2=新的TimeOutDependengOnParam(“Looong”).execute();

如果Hystrix因为“Looong”的呼叫超时而打开电路,这是否意味着带有“Quick”的呼叫将被打开到

基本上是的,只要两者具有相同的命令键,如您的示例所示。但断路器断开的条件更多

您可以实现两个不同的命令,也可以根据参数在构造函数中设置CommandKey:


谢谢@ahus,所以我想我可以做一些事情,比如
publicTimeoutDependingOnParam(字符串名){super(HystrixCommandGroupKey.Factory.asKey(“TDPGroup”))和commandkey(HystrixCommandKey.Factory.asKey(“TDP”+name));this.name=name;}
public CommandHelloWorld(String name) {
    super(Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey("ExampleGroup"))
            .andCommandKey(HystrixCommandKey.Factory.asKey("HelloWorld")));
    this.name = name;
}