本文整理汇总了Java中com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier类的典型用法代码示例。如果您正苦于以下问题:Java HystrixEventNotifier类的具体用法?Java HystrixEventNotifier怎么用?Java HystrixEventNotifier使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
HystrixEventNotifier类属于com.netflix.hystrix.strategy.eventnotifier包,在下文中一共展示了HystrixEventNotifier类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: init
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的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.eventnotifier.HystrixEventNotifier; //导入依赖的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);
}
开发者ID:micrometer-metrics,项目名称:micrometer,代码行数:18,代码来源:HystrixMetricsBinder.java
示例3: init
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的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);
}
开发者ID:spring-cloud,项目名称:spring-cloud-netflix,代码行数:23,代码来源:HystrixSecurityAutoConfiguration.java
示例4: TracingConcurrencyStrategy
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的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);
}
}
开发者ID:OpenFeign,项目名称:feign-opentracing,代码行数:28,代码来源:TracingConcurrencyStrategy.java
示例5: SleuthHystrixConcurrencyStrategy
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的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);
}
}
开发者ID:reshmik,项目名称:Zipkin,代码行数:32,代码来源:SleuthHystrixConcurrencyStrategy.java
示例6: logCurrentStateOfHysrixPlugins
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的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.");
}
开发者ID:reshmik,项目名称:Zipkin,代码行数:10,代码来源:SleuthHystrixConcurrencyStrategy.java
示例7: logCurrentStateOfHysrixPlugins
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的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.");
}
}
开发者ID:spring-cloud,项目名称:spring-cloud-sleuth,代码行数:12,代码来源:SleuthHystrixConcurrencyStrategy.java
示例8: HystrixStrategies
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的package包/类
public HystrixStrategies(HystrixPropertiesStrategy hystrixPropertiesStrategy,
HystrixConcurrencyStrategy concurrencyStrategy,
HystrixEventNotifier eventNotifier,
String id) {
this.hystrixPropertiesStrategy = hystrixPropertiesStrategy;
this.hystrixConcurrencyStrategy = concurrencyStrategy;
this.hystrixEventNotifier = eventNotifier;
this.id = id;
}
开发者ID:AvanzaBank,项目名称:astrix,代码行数:10,代码来源:HystrixStrategies.java
示例9: register
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的package包/类
public void register(String id, HystrixEventNotifier strategy) {
this.strategies.put(MultiConfigId.create(id), strategy);
}
开发者ID:AvanzaBank,项目名称:astrix,代码行数:4,代码来源:MultiEventNotifierDispatcher.java
示例10: register
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的package包/类
public static void register(String id, HystrixEventNotifier strategy) {
multiEventNotifierDispatcher.register(id, strategy);
verifyRegistered();
}
开发者ID:AvanzaBank,项目名称:astrix,代码行数:5,代码来源:MultiConfigs.java
示例11: getHystrixEventNotifier
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的package包/类
public HystrixEventNotifier getHystrixEventNotifier() {
return this.hystrixEventNotifier;
}
开发者ID:AvanzaBank,项目名称:astrix,代码行数:4,代码来源:HystrixStrategies.java
示例12: buildAndRegister
import com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier; //导入依赖的package包/类
public void buildAndRegister() {
HystrixPlugins plugins = HystrixPlugins.getInstance();
// memorize the registered plugins
HystrixCommandExecutionHook commandExecutionHook = plugins.getCommandExecutionHook();
HystrixEventNotifier eventNotifier = plugins.getEventNotifier();
HystrixMetricsPublisher metricsPublisher = plugins.getMetricsPublisher();
HystrixPropertiesStrategy propertiesStrategy = plugins.getPropertiesStrategy();
HystrixConcurrencyStrategy concurrencyStrategy = plugins.getConcurrencyStrategy();
HystrixMetricsCollector collector = new HystrixMetricsCollector(namespace,
new Consumer<Histogram.Builder>() {
@Override
public void accept(Histogram.Builder builder) {
if (metrics == MetricsType.EXPONENTIAL) {
builder.exponentialBuckets(exponentialStart, exponentialFactor, exponentialCount);
} else if (metrics == MetricsType.LINEAR) {
builder.linearBuckets(linearStart, linearWidth, linearCount);
} else if (metrics == MetricsType.DISTINCT) {
builder.buckets(distinctBuckets);
} else if (metrics == MetricsType.DEFAULT) {
// nothing to do
} else {
throw new IllegalStateException("unknown enum state " + metrics);
}
}
}).register(registry);
// wrap the metrics publisher plugin
HystrixPrometheusMetricsPublisher wrappedMetricsPublisher =
new HystrixPrometheusMetricsPublisher(exportProperties,
exportDeprecatedMetrics, collector, metricsPublisher);
// reset all plugins
HystrixPlugins.reset();
// the following statement wouldn't be necessary, but I'm paranoid that reset might
// change the plugin instance.
plugins = HystrixPlugins.getInstance();
// set previous values for all plugins, but not if they would use the default implementation,
// as this would block the slot for plugins to be registered.
// REASON: if there was no previous setting, Hystrix would have returned the default implementation
// and not all other plugin use the reset-and-wrap approach we do here.
// ASSUMPTION: the default strategies/hooks can't wrap a different strategy/hook
// CAVEAT: instead of a default implementation there is a sophisticated Archaius configuration mechanism
// to determine a class from property settings. There is a corner case where someone would register a
// default implementation manually overriding an Archaius configuration. Therefore this is configurable
// using "registerDefaultPlugins".
if (registerDefaultPlugins || concurrencyStrategy.getClass() != HystrixConcurrencyStrategyDefault.class) {
plugins.registerConcurrencyStrategy(concurrencyStrategy);
}
if (registerDefaultPlugins || commandExecutionHook.getClass() != HystrixCommandExecutionHookDefault.class) {
plugins.registerCommandExecutionHook(commandExecutionHook);
}
if (registerDefaultPlugins || eventNotifier.getClass() != HystrixEventNotifierDefault.class) {
plugins.registerEventNotifier(eventNotifier);
}
if (registerDefaultPlugins || propertiesStrategy.getClass() != HystrixPropertiesStrategyDefault.class) {
plugins.registerPropertiesStrategy(propertiesStrategy);
}
// ... except for the metrics publisher that will now be wrapped
plugins.registerMetricsPublisher(wrappedMetricsPublisher);
}
开发者ID:ahus1,项目名称:prometheus-hystrix,代码行数:69,代码来源:HystrixPrometheusMetricsPublisher.java
注:本文中的com.netflix.hystrix.strategy.eventnotifier.HystrixEventNotifier类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论