Я пишу приложение, и я хочу использовать схему автоматического выключателя. Это класс команды Hystrix, который я написал:Конфигурация Hystrix для автоматического выключателя в java
public class HystrixCommandNextGen extends HystrixCommand<ScriptContext>{
private ScriptContext scriptctx;
private ScriptFactory scriptFactory;
private ScriptContext responseContext = null;;
private Logger logger = LoggerFactory.getLogger(HystrixCommandNextGen.class);
public HystrixCommandNextGen(ScriptContext scriptctx, ScriptFactory scriptFactory) {
super(
Setter.withGroupKey(HystrixCommandGroupKey.Factory.asKey("Thread_Pool"))
.andCommandKey(HystrixCommandKey.Factory.asKey(scriptctx.getExecutionData(ExecutionParam.SCRIPTNAME)))
);
this.scriptctx = scriptctx;
this.scriptFactory = scriptFactory;
HystrixCommandProperties.Setter().withCircuitBreakerEnabled(true);
HystrixCommandProperties.Setter().withCircuitBreakerRequestVolumeThreshold(150);
}
@Override
protected ScriptContext run() throws Exception {
scriptFactory.execute(scriptctx);
return scriptctx;
}
@Override
protected ScriptContext getFallback() {
logger.error("FI is not responding: Error occured in the execution of "+getClass().getSimpleName());
return scriptctx;
}
}
Я не могу понять, как настроить no. потоков, пороговое время для автоматического выключателя и нет. запросов.
Если я неправильно понял код Hystrix, эти два вызова вы должны «HystrixCommandProperties».Setter() '' ничего не делают, просто создавая новый объект типа Setter и фактически не создавая никакого глобального свойства – arcuri82