Java源码示例:io.github.resilience4j.circuitbreaker.CircuitBreakerRegistry
示例1
public DefaultPluginInfoRepository(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.PLUGIN_INFO,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例2
public DefaultNotificationDAO(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.NOTIFICATION,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例3
@Bean
DeliveryRepository deliveryRepository(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultDeliveryRepository(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getDeliveryConfig().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getDeliveryConfig().getRefreshMs(),
storageServiceConfigurationProperties.getDeliveryConfig().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例4
public DefaultPipelineStrategyDAO(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.STRATEGY,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例5
@Bean
ServiceAccountDAO serviceAccountDAO(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultServiceAccountDAO(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getServiceAccount().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getServiceAccount().getRefreshMs(),
storageServiceConfigurationProperties.getServiceAccount().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例6
@Bean
PipelineDAO pipelineDAO(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultPipelineDAO(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getPipeline().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getPipeline().getRefreshMs(),
storageServiceConfigurationProperties.getPipeline().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例7
@Before
public void setup() {
registry = new CollectorRegistry();
circuitBreakerMetricsPublisher = new CircuitBreakerMetricsPublisher();
circuitBreakerMetricsPublisher.register(registry);
circuitBreakerRegistry = CircuitBreakerRegistry
.of(CircuitBreakerConfig.ofDefaults(), circuitBreakerMetricsPublisher);
CircuitBreakerConfig configWithSlowCallThreshold = CircuitBreakerConfig.custom()
.slowCallDurationThreshold(Duration.ofSeconds(1)).build();
circuitBreaker = circuitBreakerRegistry
.circuitBreaker("backendA", configWithSlowCallThreshold);
// record some basic stats
// SLOW_SUCCESS
circuitBreaker.onSuccess(2000, TimeUnit.NANOSECONDS);
circuitBreaker.onError(100, TimeUnit.NANOSECONDS, new RuntimeException("oops"));
circuitBreaker.transitionToOpenState();
}
示例8
@Before
public void setup() {
registry = new CollectorRegistry();
circuitBreakerRegistry = CircuitBreakerRegistry.ofDefaults();
CircuitBreakerConfig configWithSlowCallThreshold = CircuitBreakerConfig.custom()
.slowCallDurationThreshold(Duration.ofSeconds(1)).build();
circuitBreaker = circuitBreakerRegistry
.circuitBreaker("backendA", configWithSlowCallThreshold);
CircuitBreakerMetricsCollector.ofCircuitBreakerRegistry(circuitBreakerRegistry)
.register(registry);
// record some basic stats
// SLOW_SUCCESS
circuitBreaker.onSuccess(2000, TimeUnit.NANOSECONDS);
circuitBreaker.onError(100, TimeUnit.NANOSECONDS, new RuntimeException("oops"));
circuitBreaker.transitionToOpenState();
}
示例9
@Bean
PipelineStrategyDAO pipelineStrategyDAO(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultPipelineStrategyDAO(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getPipelineStrategy().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getPipelineStrategy().getRefreshMs(),
storageServiceConfigurationProperties.getPipelineStrategy().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例10
public DefaultPluginVersionPinningRepository(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.PLUGIN_VERSIONS,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例11
@Bean
EntityTagsDAO entityTagsDAO(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultEntityTagsDAO(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getEntityTags().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getEntityTags().getRefreshMs(),
storageServiceConfigurationProperties.getEntityTags().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例12
public DefaultSnapshotDAO(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.SNAPSHOT,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例13
@Bean
ApplicationPermissionDAO applicationPermissionDAO(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultApplicationPermissionDAO(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getApplicationPermission().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getApplicationPermission().getRefreshMs(),
storageServiceConfigurationProperties.getApplicationPermission().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例14
@Before
public void setUp() {
meterRegistry = new SimpleMeterRegistry();
taggedCircuitBreakerMetricsPublisher =
new TaggedCircuitBreakerMetricsPublisher(meterRegistry);
circuitBreakerRegistry =
CircuitBreakerRegistry
.of(CircuitBreakerConfig.ofDefaults(), taggedCircuitBreakerMetricsPublisher);
CircuitBreakerConfig configWithSlowCallThreshold = CircuitBreakerConfig.custom()
.slowCallDurationThreshold(Duration.ofSeconds(1)).build();
circuitBreaker = circuitBreakerRegistry
.circuitBreaker("backendA", configWithSlowCallThreshold);
// record some basic stats
circuitBreaker.onSuccess(0, TimeUnit.NANOSECONDS);
circuitBreaker.onError(0, TimeUnit.NANOSECONDS, new RuntimeException("oops"));
// record slow call
circuitBreaker.onSuccess(2000, TimeUnit.NANOSECONDS);
circuitBreaker.onError(2000, TimeUnit.NANOSECONDS, new RuntimeException("oops"));
}
示例15
@Bean
PluginVersionPinningRepository pluginVersionPinningRepository(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultPluginVersionPinningRepository(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getPluginInfo().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getPluginInfo().getRefreshMs(),
storageServiceConfigurationProperties.getPluginInfo().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例16
@Before
public void setUp() {
meterRegistry = new SimpleMeterRegistry();
circuitBreakerRegistry = CircuitBreakerRegistry.ofDefaults();
CircuitBreakerConfig configWithSlowCallThreshold = CircuitBreakerConfig.custom()
.slowCallDurationThreshold(Duration.ofSeconds(1)).build();
circuitBreaker = circuitBreakerRegistry
.circuitBreaker("backendA", configWithSlowCallThreshold);
// record some basic stats
circuitBreaker.onSuccess(0, TimeUnit.NANOSECONDS);
circuitBreaker.onError(0, TimeUnit.NANOSECONDS, new RuntimeException("oops"));
// record slow calls
circuitBreaker.onSuccess(2000, TimeUnit.NANOSECONDS);
circuitBreaker.onError(2000, TimeUnit.NANOSECONDS, new RuntimeException("oops"));
taggedCircuitBreakerMetrics = TaggedCircuitBreakerMetrics
.ofCircuitBreakerRegistry(circuitBreakerRegistry);
taggedCircuitBreakerMetrics.bindTo(meterRegistry);
}
示例17
public DefaultDeliveryRepository(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.DELIVERY,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例18
public DefaultPipelineDAO(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.PIPELINE,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例19
@Bean
PipelineTemplateDAO pipelineTemplateDAO(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultPipelineTemplateDAO(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getPipelineTemplate().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getPipelineTemplate().getRefreshMs(),
storageServiceConfigurationProperties.getPipelineTemplate().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例20
public DefaultEntityTagsDAO(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.ENTITY_TAGS,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例21
@Bean
NotificationDAO notificationDAO(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultNotificationDAO(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getNotification().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getNotification().getRefreshMs(),
storageServiceConfigurationProperties.getNotification().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例22
@Bean
ProjectDAO projectDAO(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultProjectDAO(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getProject().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getProject().getRefreshMs(),
storageServiceConfigurationProperties.getProject().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例23
@Test
public void testWithCircuitBreakerMetrics() throws Exception {
CircuitBreakerConfig config =
CircuitBreakerConfig.custom()
.waitDurationInOpenState(Duration.ofMillis(150))
.failureRateThreshold(50)
.permittedNumberOfCallsInHalfOpenState(3)
.slidingWindowSize(10)
.build();
CircuitBreaker circuitBreaker = CircuitBreakerRegistry.ofDefaults()
.circuitBreaker("test", config);
MetricRegistry metricRegistry = new MetricRegistry();
metricRegistry.registerAll(CircuitBreakerMetrics.ofCircuitBreaker(circuitBreaker));
circuitBreakerMetricsUsesFirstStateObjectInstance(circuitBreaker, metricRegistry);
}
示例24
@Test
public void testWithCircuitBreakerMetricsPublisher() throws Exception {
CircuitBreakerConfig config =
CircuitBreakerConfig.custom()
.waitDurationInOpenState(Duration.ofSeconds(1))
.failureRateThreshold(50)
.permittedNumberOfCallsInHalfOpenState(3)
.slidingWindowSize(10)
.build();
MetricRegistry metricRegistry = new MetricRegistry();
CircuitBreakerRegistry circuitBreakerRegistry = CircuitBreakerRegistry
.of(config, new CircuitBreakerMetricsPublisher(metricRegistry));
CircuitBreaker circuitBreaker = circuitBreakerRegistry.circuitBreaker("test", config);
circuitBreakerMetricsUsesFirstStateObjectInstance(circuitBreaker, metricRegistry);
}
示例25
public DefaultPipelineTemplateDAO(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.PIPELINE_TEMPLATE,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例26
@Override
public ApplicationPermissionDAO applicationPermissionDAO(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
GcsStorageService service =
googleCloudStorageService(ApplicationPermissionDAO.DEFAULT_DATA_FILENAME, gcsProperties);
ObjectKeyLoader keyLoader = new DefaultObjectKeyLoader(service);
return new DefaultApplicationPermissionDAO(
service,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getApplicationPermission().getThreadPool())),
keyLoader,
storageServiceConfigurationProperties.getApplicationPermission().getRefreshMs(),
storageServiceConfigurationProperties.getApplicationPermission().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例27
public DefaultProjectDAO(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.PROJECT,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例28
@Bean
PluginInfoRepository pluginInfoRepository(
StorageService storageService,
StorageServiceConfigurationProperties storageServiceConfigurationProperties,
ObjectKeyLoader objectKeyLoader,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
return new DefaultPluginInfoRepository(
storageService,
Schedulers.from(
Executors.newFixedThreadPool(
storageServiceConfigurationProperties.getPluginInfo().getThreadPool())),
objectKeyLoader,
storageServiceConfigurationProperties.getPluginInfo().getRefreshMs(),
storageServiceConfigurationProperties.getPluginInfo().getShouldWarmCache(),
registry,
circuitBreakerRegistry);
}
示例29
public DefaultApplicationDAO(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.APPLICATION,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}
示例30
public DefaultApplicationPermissionDAO(
StorageService service,
Scheduler scheduler,
ObjectKeyLoader objectKeyLoader,
long refreshIntervalMs,
boolean shouldWarmCache,
Registry registry,
CircuitBreakerRegistry circuitBreakerRegistry) {
super(
ObjectType.APPLICATION_PERMISSION,
service,
scheduler,
objectKeyLoader,
refreshIntervalMs,
shouldWarmCache,
registry,
circuitBreakerRegistry);
}