會這樣的事情提供你正在尋找的行爲?
public class NamedHystrixCommand extends HystrixCommand<Object> {
private static final HystrixCommandGroupKey GROUP_KEY =
HystrixCommandGroupKey.Factory.asKey("Host Routing");
private static final HystrixThreadPoolProperties.Setter THREAD_POOL_PROPERTIES =
HystrixThreadPoolProperties.Setter()
.withMaximumSize(100);
private static final HystrixCommandProperties.Setter COMMAND_PROPERTIES =
HystrixCommandProperties.Setter()
.withExecutionTimeoutInMilliseconds(5000)
.withMetricsHealthSnapshotIntervalInMilliseconds(1000);
private final Callable<Object> callable;
public NamedHystrixCommand(
String metricName,
Callable<Object> callable) {
super(HystrixCommand.Setter
.withGroupKey(GROUP_KEY)
.andThreadPoolPropertiesDefaults(THREAD_POOL_PROPERTIES)
.andCommandPropertiesDefaults(COMMAND_PROPERTIES)
.andCommandKey(HystrixCommandKey.Factory.asKey(metricName)));
this.callable = callable;
}
@Override
protected Object run() throws Exception {
return callable.call();
}
}
來源
2017-06-08 03:35:25
Rob