本文整理汇总了Java中com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy类的典型用法代码示例。如果您正苦于以下问题:Java HystrixPropertiesStrategy类的具体用法?Java HystrixPropertiesStrategy怎么用?Java HystrixPropertiesStrategy使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HystrixPropertiesStrategy类属于com.netflix.hystrix.strategy.properties包,在下文中一共展示了HystrixPropertiesStrategy类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: init
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
/**
* registers the {@link ExecutionContextAwareHystrixStrategy}
*/
public static void init() {
// keeps references of existing Hystrix plugins.
HystrixConcurrencyStrategy existingConcurrencyStrategy = HystrixPlugins.getInstance().getConcurrencyStrategy();
HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance().getEventNotifier();
HystrixMetricsPublisher metricsPublisher = HystrixPlugins.getInstance().getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy = HystrixPlugins.getInstance().getPropertiesStrategy();
HystrixCommandExecutionHook commandExecutionHook = HystrixPlugins.getInstance().getCommandExecutionHook();
// reset the Hystrix plugin
HystrixPlugins.reset();
// configure the plugin
HystrixPlugins.getInstance().registerConcurrencyStrategy(new ExecutionContextAwareHystrixStrategy(existingConcurrencyStrategy));
HystrixPlugins.getInstance().registerEventNotifier(eventNotifier);
HystrixPlugins.getInstance().registerMetricsPublisher(metricsPublisher);
HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy);
HystrixPlugins.getInstance().registerCommandExecutionHook(commandExecutionHook);
log.info("Context propagation enabled for Hystrix.");
}
开发者ID:enadim,项目名称:spring-cloud-ribbon-extensions,代码行数:21,代码来源:PreservesExecutionContextHystrixStrategy.java
示例2: bindTo
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
@Override
public void bindTo(MeterRegistry registry) {
// Keeps references of existing Hystrix plugins.
HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance().getEventNotifier();
HystrixPropertiesStrategy propertiesStrategy = HystrixPlugins.getInstance().getPropertiesStrategy();
HystrixCommandExecutionHook commandExecutionHook = HystrixPlugins.getInstance().getCommandExecutionHook();
HystrixConcurrencyStrategy concurrencyStrategy = HystrixPlugins.getInstance().getConcurrencyStrategy();
HystrixPlugins.reset();
// Registers existing plugins except the new MicroMeter Strategy plugin.
HystrixPlugins.getInstance().registerMetricsPublisher(new MicrometerMetricsPublisher(registry));
HystrixPlugins.getInstance().registerConcurrencyStrategy(concurrencyStrategy);
HystrixPlugins.getInstance().registerEventNotifier(eventNotifier);
HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy);
HystrixPlugins.getInstance().registerCommandExecutionHook(commandExecutionHook);
}
示例3: init
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
@PostConstruct
public void init() {
// Keeps references of existing Hystrix plugins.
HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance()
.getEventNotifier();
HystrixMetricsPublisher metricsPublisher = HystrixPlugins.getInstance()
.getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy = HystrixPlugins.getInstance()
.getPropertiesStrategy();
HystrixCommandExecutionHook commandExecutionHook = HystrixPlugins.getInstance()
.getCommandExecutionHook();
HystrixPlugins.reset();
// Registers existing plugins excepts the Concurrent Strategy plugin.
HystrixPlugins.getInstance().registerConcurrencyStrategy(
new SecurityContextConcurrencyStrategy(existingConcurrencyStrategy));
HystrixPlugins.getInstance().registerEventNotifier(eventNotifier);
HystrixPlugins.getInstance().registerMetricsPublisher(metricsPublisher);
HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy);
HystrixPlugins.getInstance().registerCommandExecutionHook(commandExecutionHook);
}
示例4: TracingConcurrencyStrategy
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
private TracingConcurrencyStrategy(Tracer tracer) {
this.tracer = tracer;
try {
this.delegateStrategy = HystrixPlugins.getInstance().getConcurrencyStrategy();
if (this.delegateStrategy instanceof TracingConcurrencyStrategy) {
return;
}
HystrixCommandExecutionHook commandExecutionHook =
HystrixPlugins.getInstance().getCommandExecutionHook();
HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance().getEventNotifier();
HystrixMetricsPublisher metricsPublisher =
HystrixPlugins.getInstance().getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy =
HystrixPlugins.getInstance().getPropertiesStrategy();
HystrixPlugins.reset();
HystrixPlugins.getInstance().registerConcurrencyStrategy(this);
HystrixPlugins.getInstance().registerCommandExecutionHook(commandExecutionHook);
HystrixPlugins.getInstance().registerEventNotifier(eventNotifier);
HystrixPlugins.getInstance().registerMetricsPublisher(metricsPublisher);
HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy);
} catch (Exception ex) {
log.log(Level.SEVERE, "Failed to register " + TracingConcurrencyStrategy.class +
", to HystrixPlugins", ex);
}
}
示例5: testConfigurationThroughArchaius
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
@Test
public void testConfigurationThroughArchaius() {
HystrixPropertiesStrategy strategy = HystrixPlugins.getInstance().getPropertiesStrategy();
HystrixCommandProperties defaultProps = strategy.getCommandProperties(HystrixCommandKey.Factory.asKey("default"), HystrixCommandProperties.Setter());
assertFalse( defaultProps.circuitBreakerEnabled().get());
assertEquals(77, (int) defaultProps.circuitBreakerErrorThresholdPercentage().get());
HystrixCommandProperties gooberProps = strategy.getCommandProperties(HystrixCommandKey.Factory.asKey("goober"), HystrixCommandProperties.Setter());
assertTrue( gooberProps.circuitBreakerEnabled().get());
assertEquals(44, (int) gooberProps.circuitBreakerErrorThresholdPercentage().get());
}
示例6: SleuthHystrixConcurrencyStrategy
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
public SleuthHystrixConcurrencyStrategy(Tracer tracer, TraceKeys traceKeys) {
this.tracer = tracer;
this.traceKeys = traceKeys;
try {
this.delegate = HystrixPlugins.getInstance().getConcurrencyStrategy();
if (this.delegate instanceof SleuthHystrixConcurrencyStrategy) {
// Welcome to singleton hell...
return;
}
HystrixCommandExecutionHook commandExecutionHook = HystrixPlugins
.getInstance().getCommandExecutionHook();
HystrixEventNotifier eventNotifier = HystrixPlugins.getInstance()
.getEventNotifier();
HystrixMetricsPublisher metricsPublisher = HystrixPlugins.getInstance()
.getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy = HystrixPlugins.getInstance()
.getPropertiesStrategy();
logCurrentStateOfHysrixPlugins(eventNotifier, metricsPublisher,
propertiesStrategy);
HystrixPlugins.reset();
HystrixPlugins.getInstance().registerConcurrencyStrategy(this);
HystrixPlugins.getInstance()
.registerCommandExecutionHook(commandExecutionHook);
HystrixPlugins.getInstance().registerEventNotifier(eventNotifier);
HystrixPlugins.getInstance().registerMetricsPublisher(metricsPublisher);
HystrixPlugins.getInstance().registerPropertiesStrategy(propertiesStrategy);
}
catch (Exception e) {
log.error("Failed to register Sleuth Hystrix Concurrency Strategy", e);
}
}
示例7: logCurrentStateOfHysrixPlugins
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
private void logCurrentStateOfHysrixPlugins(HystrixEventNotifier eventNotifier,
HystrixMetricsPublisher metricsPublisher,
HystrixPropertiesStrategy propertiesStrategy) {
log.debug("Current Hystrix plugins configuration is [" + "concurrencyStrategy ["
+ this.delegate + "]," + "eventNotifier [" + eventNotifier + "],"
+ "metricPublisher [" + metricsPublisher + "]," + "propertiesStrategy ["
+ propertiesStrategy + "]," + "]");
log.debug("Registering Sleuth Hystrix Concurrency Strategy.");
}
示例8: logCurrentStateOfHysrixPlugins
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
private void logCurrentStateOfHysrixPlugins(HystrixEventNotifier eventNotifier,
HystrixMetricsPublisher metricsPublisher,
HystrixPropertiesStrategy propertiesStrategy) {
if (log.isDebugEnabled()) {
log.debug("Current Hystrix plugins configuration is [" + "concurrencyStrategy ["
+ this.delegate + "]," + "eventNotifier [" + eventNotifier + "],"
+ "metricPublisher [" + metricsPublisher + "]," + "propertiesStrategy ["
+ propertiesStrategy + "]," + "]");
log.debug("Registering Sleuth Hystrix Concurrency Strategy.");
}
}
示例9: decodesIncomingCommandKeys
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
@Test
public void decodesIncomingCommandKeys() throws Exception {
HystrixPropertiesStrategy mock = Mockito.mock(HystrixPropertiesStrategy.class);
MultiConfigId configId = MultiConfigId.create("t1");
dispatcher.register(configId.toString(), mock);
dispatcher.getCommandProperties(configId.createCommandKey("com.avanza.test.TestApi.TestService"), defaultCommandSetter);
Mockito.verify(mock).getCommandProperties(HystrixCommandKey.Factory.asKey("com.avanza.test.TestApi.TestService"), defaultCommandSetter);
}
示例10: decodesIncomingThreadPoolKeys
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
@Test
public void decodesIncomingThreadPoolKeys() throws Exception {
HystrixPropertiesStrategy mock = Mockito.mock(HystrixPropertiesStrategy.class);
MultiConfigId configId = MultiConfigId.create("t1");
dispatcher.register(configId.toString(), mock);
dispatcher.getThreadPoolProperties(configId.createThreadPoolKey("com.avanza.test.TestApi.TestService"), defaultThreadPoolSetter);
Mockito.verify(mock).getThreadPoolProperties(HystrixThreadPoolKey.Factory.asKey("com.avanza.test.TestApi.TestService"), defaultThreadPoolSetter);
}
示例11: decodesIncomingCollapserKeys
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
@Test
public void decodesIncomingCollapserKeys() throws Exception {
HystrixPropertiesStrategy mock = Mockito.mock(HystrixPropertiesStrategy.class);
MultiConfigId configId = MultiConfigId.create("t1");
dispatcher.register(configId.toString(), mock);
dispatcher.getCollapserProperties(configId.createCollapserKey("com.avanza.test.TestApi.TestService"), defaultCollapserSetter);
Mockito.verify(mock).getCollapserProperties(HystrixCollapserKey.Factory.asKey("com.avanza.test.TestApi.TestService"), defaultCollapserSetter);
}
示例12: HystrixStrategies
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
public HystrixStrategies(HystrixPropertiesStrategy hystrixPropertiesStrategy,
HystrixConcurrencyStrategy concurrencyStrategy,
HystrixEventNotifier eventNotifier,
String id) {
this.hystrixPropertiesStrategy = hystrixPropertiesStrategy;
this.hystrixConcurrencyStrategy = concurrencyStrategy;
this.hystrixEventNotifier = eventNotifier;
this.id = id;
}
示例13: getThreadPoolProperties
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
private static HystrixThreadPoolProperties getThreadPoolProperties(HystrixFaultToleranceFactory hystrixFaultTolerance,
Class<?> api) {
HystrixPropertiesStrategy hystrixPropertiesStrategy = HystrixPlugins.getInstance().getPropertiesStrategy();
HystrixCommandGroupKey groupKey = hystrixFaultTolerance.getGroupKey(AstrixBeanKey.create(api));
return hystrixPropertiesStrategy.getThreadPoolProperties(HystrixThreadPoolKey.Factory.asKey(groupKey.name()),
HystrixThreadPoolProperties.Setter());
}
示例14: register
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
public static void register(String id, HystrixPropertiesStrategy strategy) {
multiPropertiesStrategyDispatcher.register(id, strategy);
verifyRegistered();
}
示例15: register
import com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy; //导入依赖的package包/类
public void register(String id, HystrixPropertiesStrategy strategy) {
this.strategies.put(MultiConfigId.create(id), strategy);
}