Skip to content

Commit 8ef1844

Browse files
wonwooRobWin
authored andcommitted
Issue ReactiveX#756: Spring Boot 2 module must work without an Spring actuator. (ReactiveX#753)
1 parent e8f8033 commit 8ef1844

File tree

4 files changed

+64
-63
lines changed

4 files changed

+64
-63
lines changed

resilience4j-spring-boot2/src/main/java/io/github/resilience4j/bulkhead/autoconfigure/BulkheadAutoConfiguration.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,8 @@
2323
import io.github.resilience4j.bulkhead.monitoring.endpoint.BulkheadEventsEndpoint;
2424
import io.github.resilience4j.consumer.EventConsumerRegistry;
2525
import io.github.resilience4j.fallback.autoconfigure.FallbackConfigurationOnMissingBean;
26-
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
2726
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
2827
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
29-
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
3028
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
3129
import org.springframework.boot.context.properties.EnableConfigurationProperties;
3230
import org.springframework.context.annotation.Bean;
@@ -41,22 +39,24 @@
4139
@ConditionalOnClass(Bulkhead.class)
4240
@EnableConfigurationProperties({BulkheadProperties.class, ThreadPoolBulkheadProperties.class})
4341
@Import({BulkheadConfigurationOnMissingBean.class, FallbackConfigurationOnMissingBean.class})
44-
@AutoConfigureBefore(EndpointAutoConfiguration.class)
4542
public class BulkheadAutoConfiguration {
4643

47-
@Bean
48-
@ConditionalOnEnabledEndpoint
49-
@ConditionalOnClass(value = {Endpoint.class})
50-
public BulkheadEndpoint bulkheadEndpoint(BulkheadRegistry bulkheadRegistry,
51-
ThreadPoolBulkheadRegistry threadPoolBulkheadRegistry) {
52-
return new BulkheadEndpoint(bulkheadRegistry, threadPoolBulkheadRegistry);
53-
}
44+
@Configuration
45+
@ConditionalOnClass(Endpoint.class)
46+
static class BulkheadEndpointAutoConfiguration {
47+
48+
@Bean
49+
@ConditionalOnEnabledEndpoint
50+
public BulkheadEndpoint bulkheadEndpoint(BulkheadRegistry bulkheadRegistry,
51+
ThreadPoolBulkheadRegistry threadPoolBulkheadRegistry) {
52+
return new BulkheadEndpoint(bulkheadRegistry, threadPoolBulkheadRegistry);
53+
}
5454

55-
@Bean
56-
@ConditionalOnEnabledEndpoint
57-
@ConditionalOnClass(value = {Endpoint.class})
58-
public BulkheadEventsEndpoint bulkheadEventsEndpoint(
59-
EventConsumerRegistry<BulkheadEvent> eventConsumerRegistry) {
60-
return new BulkheadEventsEndpoint(eventConsumerRegistry);
55+
@Bean
56+
@ConditionalOnEnabledEndpoint
57+
public BulkheadEventsEndpoint bulkheadEventsEndpoint(
58+
EventConsumerRegistry<BulkheadEvent> eventConsumerRegistry) {
59+
return new BulkheadEventsEndpoint(eventConsumerRegistry);
60+
}
6161
}
6262
}

resilience4j-spring-boot2/src/main/java/io/github/resilience4j/circuitbreaker/autoconfigure/CircuitBreakerAutoConfiguration.java

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2017 Robert Winkler
2+
* Copyright 2019 Robert Winkler
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -22,10 +22,8 @@
2222
import io.github.resilience4j.circuitbreaker.monitoring.endpoint.CircuitBreakerEventsEndpoint;
2323
import io.github.resilience4j.consumer.EventConsumerRegistry;
2424
import io.github.resilience4j.fallback.autoconfigure.FallbackConfigurationOnMissingBean;
25-
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
2625
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
2726
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
28-
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
2927
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
3028
import org.springframework.boot.context.properties.EnableConfigurationProperties;
3129
import org.springframework.context.annotation.Bean;
@@ -41,23 +39,24 @@
4139
@ConditionalOnClass(CircuitBreaker.class)
4240
@EnableConfigurationProperties(CircuitBreakerProperties.class)
4341
@Import({CircuitBreakerConfigurationOnMissingBean.class, FallbackConfigurationOnMissingBean.class})
44-
@AutoConfigureBefore(EndpointAutoConfiguration.class)
4542
public class CircuitBreakerAutoConfiguration {
4643

47-
@Bean
48-
@ConditionalOnEnabledEndpoint
49-
@ConditionalOnClass(value = {Endpoint.class})
50-
public CircuitBreakerEndpoint circuitBreakerEndpoint(
51-
CircuitBreakerRegistry circuitBreakerRegistry) {
52-
return new CircuitBreakerEndpoint(circuitBreakerRegistry);
53-
}
44+
@Configuration
45+
@ConditionalOnClass(Endpoint.class)
46+
static class CircuitBreakerEndpointAutoConfiguration {
5447

55-
@Bean
56-
@ConditionalOnEnabledEndpoint
57-
@ConditionalOnClass(value = {Endpoint.class})
58-
public CircuitBreakerEventsEndpoint circuitBreakerEventsEndpoint(
59-
EventConsumerRegistry<CircuitBreakerEvent> eventConsumerRegistry) {
60-
return new CircuitBreakerEventsEndpoint(eventConsumerRegistry);
61-
}
48+
@Bean
49+
@ConditionalOnEnabledEndpoint
50+
public CircuitBreakerEndpoint circuitBreakerEndpoint(
51+
CircuitBreakerRegistry circuitBreakerRegistry) {
52+
return new CircuitBreakerEndpoint(circuitBreakerRegistry);
53+
}
6254

55+
@Bean
56+
@ConditionalOnEnabledEndpoint
57+
public CircuitBreakerEventsEndpoint circuitBreakerEventsEndpoint(
58+
EventConsumerRegistry<CircuitBreakerEvent> eventConsumerRegistry) {
59+
return new CircuitBreakerEventsEndpoint(eventConsumerRegistry);
60+
}
61+
}
6362
}

resilience4j-spring-boot2/src/main/java/io/github/resilience4j/ratelimiter/autoconfigure/RateLimiterAutoConfiguration.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2017 Bohdan Storozhuk
2+
* Copyright 2019 Bohdan Storozhuk
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -22,10 +22,8 @@
2222
import io.github.resilience4j.ratelimiter.event.RateLimiterEvent;
2323
import io.github.resilience4j.ratelimiter.monitoring.endpoint.RateLimiterEndpoint;
2424
import io.github.resilience4j.ratelimiter.monitoring.endpoint.RateLimiterEventsEndpoint;
25-
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration;
2625
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
2726
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
28-
import org.springframework.boot.autoconfigure.AutoConfigureBefore;
2927
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
3028
import org.springframework.boot.context.properties.EnableConfigurationProperties;
3129
import org.springframework.context.annotation.Bean;
@@ -40,22 +38,23 @@
4038
@ConditionalOnClass(RateLimiter.class)
4139
@EnableConfigurationProperties(RateLimiterProperties.class)
4240
@Import({RateLimiterConfigurationOnMissingBean.class, FallbackConfigurationOnMissingBean.class})
43-
@AutoConfigureBefore(EndpointAutoConfiguration.class)
4441
public class RateLimiterAutoConfiguration {
4542

46-
@Bean
47-
@ConditionalOnEnabledEndpoint
48-
@ConditionalOnClass(value = {Endpoint.class})
49-
public RateLimiterEndpoint rateLimiterEndpoint(RateLimiterRegistry rateLimiterRegistry) {
50-
return new RateLimiterEndpoint(rateLimiterRegistry);
51-
}
43+
@Configuration
44+
@ConditionalOnClass( Endpoint.class)
45+
static class RateLimiterEndpointAutoConfiguration {
5246

53-
@Bean
54-
@ConditionalOnEnabledEndpoint
55-
@ConditionalOnClass(value = {Endpoint.class})
56-
public RateLimiterEventsEndpoint rateLimiterEventsEndpoint(
57-
EventConsumerRegistry<RateLimiterEvent> eventConsumerRegistry) {
58-
return new RateLimiterEventsEndpoint(eventConsumerRegistry);
59-
}
47+
@Bean
48+
@ConditionalOnEnabledEndpoint
49+
public RateLimiterEndpoint rateLimiterEndpoint(RateLimiterRegistry rateLimiterRegistry) {
50+
return new RateLimiterEndpoint(rateLimiterRegistry);
51+
}
6052

53+
@Bean
54+
@ConditionalOnEnabledEndpoint
55+
public RateLimiterEventsEndpoint rateLimiterEventsEndpoint(
56+
EventConsumerRegistry<RateLimiterEvent> eventConsumerRegistry) {
57+
return new RateLimiterEventsEndpoint(eventConsumerRegistry);
58+
}
59+
}
6160
}

resilience4j-spring-boot2/src/main/java/io/github/resilience4j/retry/autoconfigure/RetryAutoConfiguration.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,21 @@
4141
@Import({RetryConfigurationOnMissingBean.class, FallbackConfigurationOnMissingBean.class})
4242
public class RetryAutoConfiguration {
4343

44-
@Bean
45-
@ConditionalOnEnabledEndpoint
46-
@ConditionalOnClass(value = {Endpoint.class})
47-
public RetryEndpoint retryEndpoint(RetryRegistry retryRegistry) {
48-
return new RetryEndpoint(retryRegistry);
49-
}
44+
@Configuration
45+
@ConditionalOnClass(Endpoint.class)
46+
static class RetryAutoEndpointConfiguration {
47+
48+
@Bean
49+
@ConditionalOnEnabledEndpoint
50+
public RetryEndpoint retryEndpoint(RetryRegistry retryRegistry) {
51+
return new RetryEndpoint(retryRegistry);
52+
}
5053

51-
@Bean
52-
@ConditionalOnEnabledEndpoint
53-
@ConditionalOnClass(value = {Endpoint.class})
54-
public RetryEventsEndpoint retryEventsEndpoint(
55-
EventConsumerRegistry<RetryEvent> eventConsumerRegistry) {
56-
return new RetryEventsEndpoint(eventConsumerRegistry);
54+
@Bean
55+
@ConditionalOnEnabledEndpoint
56+
public RetryEventsEndpoint retryEventsEndpoint(
57+
EventConsumerRegistry<RetryEvent> eventConsumerRegistry) {
58+
return new RetryEventsEndpoint(eventConsumerRegistry);
59+
}
5760
}
5861
}

0 commit comments

Comments
 (0)