Skip to content

Commit 6586bae

Browse files
committed
Guard Endpoint bean declarations with ConditionalOnExposedEndpoint
This commit adds the newly introduced `@ConditionalOnExposedEndpoint` conditional annotation to all auto-configured `Endpoint` in Actuator. With that change, `EndPoint` instances and related infrastructure will only be created when they are meant to be exposed and used. This will save CPU and memory resources when Actuator is present. Closes gh-16093
1 parent 4ffbe6c commit 6586bae

File tree

44 files changed

+261
-45
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+261
-45
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/audit/AuditEventsEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.springframework.boot.actuate.audit.AuditEventRepository;
2020
import org.springframework.boot.actuate.audit.AuditEventsEndpoint;
2121
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
22+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2223
import org.springframework.boot.actuate.logging.LoggersEndpoint;
2324
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2425
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -38,6 +39,7 @@
3839
@Configuration
3940
@AutoConfigureAfter(AuditAutoConfiguration.class)
4041
@ConditionalOnEnabledEndpoint(endpoint = AuditEventsEndpoint.class)
42+
@ConditionalOnExposedEndpoint(endpoint = AuditEventsEndpoint.class)
4143
public class AuditEventsEndpointAutoConfiguration {
4244

4345
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/beans/BeansEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.beans;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.actuate.beans.BeansEndpoint;
2122
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2223
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -32,6 +33,7 @@
3233
*/
3334
@Configuration
3435
@ConditionalOnEnabledEndpoint(endpoint = BeansEndpoint.class)
36+
@ConditionalOnExposedEndpoint(endpoint = BeansEndpoint.class)
3537
public class BeansEndpointAutoConfiguration {
3638

3739
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cache/CachesEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Map;
2020

2121
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
22+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2223
import org.springframework.boot.actuate.cache.CachesEndpoint;
2324
import org.springframework.boot.actuate.cache.CachesEndpointWebExtension;
2425
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@@ -41,6 +42,7 @@
4142
@Configuration
4243
@ConditionalOnClass(CacheManager.class)
4344
@ConditionalOnEnabledEndpoint(endpoint = CachesEndpoint.class)
45+
@ConditionalOnExposedEndpoint(endpoint = CachesEndpoint.class)
4446
@AutoConfigureAfter(CacheAutoConfiguration.class)
4547
public class CachesEndpointAutoConfiguration {
4648

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/reactive/ReactiveCloudFoundryActuatorAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.springframework.beans.factory.config.BeanPostProcessor;
2727
import org.springframework.boot.actuate.autoconfigure.cloudfoundry.CloudFoundryWebEndpointDiscoverer;
2828
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
29+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2930
import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration;
3031
import org.springframework.boot.actuate.endpoint.ExposableEndpoint;
3132
import org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper;
@@ -75,6 +76,7 @@ public class ReactiveCloudFoundryActuatorAutoConfiguration {
7576
@Bean
7677
@ConditionalOnMissingBean
7778
@ConditionalOnEnabledEndpoint
79+
@ConditionalOnExposedEndpoint
7880
@ConditionalOnBean({ HealthEndpoint.class, ReactiveHealthEndpointWebExtension.class })
7981
public CloudFoundryReactiveHealthEndpointWebExtension cloudFoundryReactiveHealthEndpointWebExtension(
8082
ReactiveHealthEndpointWebExtension reactiveHealthEndpointWebExtension) {

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cloudfoundry/servlet/CloudFoundryActuatorAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import org.springframework.boot.actuate.autoconfigure.cloudfoundry.CloudFoundryWebEndpointDiscoverer;
2626
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
27+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2728
import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration;
2829
import org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextAutoConfiguration;
2930
import org.springframework.boot.actuate.endpoint.ExposableEndpoint;
@@ -79,6 +80,7 @@ public class CloudFoundryActuatorAutoConfiguration {
7980
@Bean
8081
@ConditionalOnMissingBean
8182
@ConditionalOnEnabledEndpoint
83+
@ConditionalOnExposedEndpoint
8284
@ConditionalOnBean({ HealthEndpoint.class, HealthEndpointWebExtension.class })
8385
public CloudFoundryHealthEndpointWebExtension cloudFoundryHealthEndpointWebExtension(
8486
HealthEndpointWebExtension healthEndpointWebExtension) {

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/condition/ConditionsReportEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.condition;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2122
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2223
import org.springframework.boot.autoconfigure.condition.SearchStrategy;
@@ -33,6 +34,7 @@
3334
*/
3435
@Configuration
3536
@ConditionalOnEnabledEndpoint(endpoint = ConditionsReportEndpoint.class)
37+
@ConditionalOnExposedEndpoint(endpoint = ConditionsReportEndpoint.class)
3638
public class ConditionsReportEndpointAutoConfiguration {
3739

3840
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/ShutdownEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.context;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.actuate.context.ShutdownEndpoint;
2122
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2223
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -31,6 +32,7 @@
3132
*/
3233
@Configuration
3334
@ConditionalOnEnabledEndpoint(endpoint = ShutdownEndpoint.class)
35+
@ConditionalOnExposedEndpoint(endpoint = ShutdownEndpoint.class)
3436
public class ShutdownEndpointAutoConfiguration {
3537

3638
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/context/properties/ConfigurationPropertiesReportEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.context.properties;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint;
2122
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2223
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -34,6 +35,7 @@
3435
*/
3536
@Configuration
3637
@ConditionalOnEnabledEndpoint(endpoint = ConfigurationPropertiesReportEndpoint.class)
38+
@ConditionalOnExposedEndpoint(endpoint = ConfigurationPropertiesReportEndpoint.class)
3739
@EnableConfigurationProperties(ConfigurationPropertiesReportEndpointProperties.class)
3840
public class ConfigurationPropertiesReportEndpointAutoConfiguration {
3941

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jmx/JmxEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
3939
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
4040
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
41+
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
4142
import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
4243
import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration;
4344
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -58,6 +59,7 @@
5859
@Configuration
5960
@AutoConfigureAfter(JmxAutoConfiguration.class)
6061
@EnableConfigurationProperties(JmxEndpointProperties.class)
62+
@ConditionalOnProperty(prefix = "spring.jmx", name = "enabled", havingValue = "true")
6163
public class JmxEndpointAutoConfiguration {
6264

6365
private final ApplicationContext applicationContext;

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/env/EnvironmentEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.env;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.actuate.env.EnvironmentEndpoint;
2122
import org.springframework.boot.actuate.env.EnvironmentEndpointWebExtension;
2223
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -36,6 +37,7 @@
3637
*/
3738
@Configuration
3839
@ConditionalOnEnabledEndpoint(endpoint = EnvironmentEndpoint.class)
40+
@ConditionalOnExposedEndpoint(endpoint = EnvironmentEndpoint.class)
3941
@EnableConfigurationProperties(EnvironmentEndpointProperties.class)
4042
public class EnvironmentEndpointAutoConfiguration {
4143

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/flyway/FlywayEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.flywaydb.core.Flyway;
2020

2121
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
22+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2223
import org.springframework.boot.actuate.flyway.FlywayEndpoint;
2324
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2425
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -39,6 +40,7 @@
3940
@Configuration
4041
@ConditionalOnClass(Flyway.class)
4142
@ConditionalOnEnabledEndpoint(endpoint = FlywayEndpoint.class)
43+
@ConditionalOnExposedEndpoint(endpoint = FlywayEndpoint.class)
4244
@AutoConfigureAfter(FlywayAutoConfiguration.class)
4345
public class FlywayEndpointAutoConfiguration {
4446

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.health;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.actuate.health.CompositeHealthIndicator;
2122
import org.springframework.boot.actuate.health.HealthAggregator;
2223
import org.springframework.boot.actuate.health.HealthEndpoint;
@@ -34,6 +35,7 @@
3435
@Configuration
3536
@ConditionalOnSingleCandidate(HealthIndicatorRegistry.class)
3637
@ConditionalOnEnabledEndpoint(endpoint = HealthEndpoint.class)
38+
@ConditionalOnExposedEndpoint(endpoint = HealthEndpoint.class)
3739
class HealthEndpointConfiguration {
3840

3941
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointWebExtensionConfiguration.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import org.springframework.beans.factory.ObjectProvider;
2020
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
21+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2122
import org.springframework.boot.actuate.health.CompositeReactiveHealthIndicator;
2223
import org.springframework.boot.actuate.health.HealthAggregator;
2324
import org.springframework.boot.actuate.health.HealthEndpoint;
@@ -43,6 +44,8 @@
4344
*/
4445
@Configuration
4546
@EnableConfigurationProperties(HealthIndicatorProperties.class)
47+
@ConditionalOnEnabledEndpoint(endpoint = HealthEndpoint.class)
48+
@ConditionalOnExposedEndpoint(endpoint = HealthEndpoint.class)
4649
class HealthEndpointWebExtensionConfiguration {
4750

4851
@Bean
@@ -68,7 +71,6 @@ public HealthWebEndpointResponseMapper healthWebEndpointResponseMapper(
6871
@Configuration
6972
@ConditionalOnWebApplication(type = Type.REACTIVE)
7073
@ConditionalOnSingleCandidate(ReactiveHealthIndicatorRegistry.class)
71-
@ConditionalOnEnabledEndpoint(endpoint = HealthEndpoint.class)
7274
static class ReactiveWebHealthConfiguration {
7375

7476
@Bean
@@ -89,7 +91,6 @@ public ReactiveHealthEndpointWebExtension reactiveHealthEndpointWebExtension(
8991

9092
@Configuration
9193
@ConditionalOnWebApplication(type = Type.SERVLET)
92-
@ConditionalOnEnabledEndpoint(endpoint = HealthEndpoint.class)
9394
static class ServletWebHealthConfiguration {
9495

9596
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import org.springframework.beans.factory.ObjectProvider;
2222
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
23+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2324
import org.springframework.boot.actuate.info.InfoContributor;
2425
import org.springframework.boot.actuate.info.InfoEndpoint;
2526
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
@@ -36,6 +37,7 @@
3637
*/
3738
@Configuration
3839
@ConditionalOnEnabledEndpoint(endpoint = InfoEndpoint.class)
40+
@ConditionalOnExposedEndpoint(endpoint = InfoEndpoint.class)
3941
@AutoConfigureAfter(InfoContributorAutoConfiguration.class)
4042
public class InfoEndpointAutoConfiguration {
4143

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/IntegrationGraphEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.integration;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.actuate.integration.IntegrationGraphEndpoint;
2122
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2223
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -41,6 +42,7 @@
4142
@ConditionalOnClass(IntegrationGraphServer.class)
4243
@ConditionalOnBean(IntegrationConfigurationBeanFactoryPostProcessor.class)
4344
@ConditionalOnEnabledEndpoint(endpoint = IntegrationGraphEndpoint.class)
45+
@ConditionalOnExposedEndpoint(endpoint = IntegrationGraphEndpoint.class)
4446
@AutoConfigureAfter(IntegrationAutoConfiguration.class)
4547
public class IntegrationGraphEndpointAutoConfiguration {
4648

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jolokia/JolokiaEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.jolokia.http.AgentServlet;
2020

2121
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
22+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2223
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2324
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2425
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
@@ -37,6 +38,7 @@
3738
@ConditionalOnWebApplication(type = Type.SERVLET)
3839
@ConditionalOnClass(AgentServlet.class)
3940
@ConditionalOnEnabledEndpoint(endpoint = JolokiaEndpoint.class)
41+
@ConditionalOnExposedEndpoint(endpoint = JolokiaEndpoint.class)
4042
@EnableConfigurationProperties(JolokiaProperties.class)
4143
public class JolokiaEndpointAutoConfiguration {
4244

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/LiquibaseEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.springframework.beans.BeansException;
2222
import org.springframework.beans.factory.config.BeanPostProcessor;
2323
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
24+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2425
import org.springframework.boot.actuate.liquibase.LiquibaseEndpoint;
2526
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2627
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -42,6 +43,7 @@
4243
@Configuration
4344
@ConditionalOnClass(SpringLiquibase.class)
4445
@ConditionalOnEnabledEndpoint(endpoint = LiquibaseEndpoint.class)
46+
@ConditionalOnExposedEndpoint(endpoint = LiquibaseEndpoint.class)
4547
@AutoConfigureAfter(LiquibaseAutoConfiguration.class)
4648
public class LiquibaseEndpointAutoConfiguration {
4749

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/LoggersEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.logging;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.actuate.logging.LoggersEndpoint;
2122
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2223
import org.springframework.boot.autoconfigure.condition.ConditionMessage;
@@ -39,6 +40,7 @@
3940
*/
4041
@Configuration
4142
@ConditionalOnEnabledEndpoint(endpoint = LoggersEndpoint.class)
43+
@ConditionalOnExposedEndpoint(endpoint = LoggersEndpoint.class)
4244
public class LoggersEndpointAutoConfiguration {
4345

4446
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/HeapDumpWebEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.management;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.actuate.management.HeapDumpWebEndpoint;
2122
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2223
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -31,6 +32,7 @@
3132
*/
3233
@Configuration
3334
@ConditionalOnEnabledEndpoint(endpoint = HeapDumpWebEndpoint.class)
35+
@ConditionalOnExposedEndpoint(endpoint = HeapDumpWebEndpoint.class)
3436
public class HeapDumpWebEndpointAutoConfiguration {
3537

3638
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/management/ThreadDumpEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.springframework.boot.actuate.autoconfigure.management;
1818

1919
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
20+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2021
import org.springframework.boot.actuate.management.ThreadDumpEndpoint;
2122
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2223
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -31,6 +32,7 @@
3132
*/
3233
@Configuration
3334
@ConditionalOnEnabledEndpoint(endpoint = ThreadDumpEndpoint.class)
35+
@ConditionalOnExposedEndpoint(endpoint = ThreadDumpEndpoint.class)
3436
public class ThreadDumpEndpointAutoConfiguration {
3537

3638
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/MetricsEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.micrometer.core.instrument.MeterRegistry;
2121

2222
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
23+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2324
import org.springframework.boot.actuate.metrics.MetricsEndpoint;
2425
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2526
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -38,6 +39,7 @@
3839
@Configuration
3940
@ConditionalOnClass(Timed.class)
4041
@ConditionalOnEnabledEndpoint(endpoint = MetricsEndpoint.class)
42+
@ConditionalOnExposedEndpoint(endpoint = MetricsEndpoint.class)
4143
@AutoConfigureAfter({ MetricsAutoConfiguration.class,
4244
CompositeMeterRegistryAutoConfiguration.class })
4345
public class MetricsEndpointAutoConfiguration {

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import io.prometheus.client.exporter.PushGateway;
2727

2828
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
29+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2930
import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
3031
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
3132
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
@@ -83,6 +84,7 @@ public CollectorRegistry collectorRegistry() {
8384

8485
@Configuration
8586
@ConditionalOnEnabledEndpoint(endpoint = PrometheusScrapeEndpoint.class)
87+
@ConditionalOnExposedEndpoint(endpoint = PrometheusScrapeEndpoint.class)
8688
public static class PrometheusScrapeEndpointConfiguration {
8789

8890
@Bean

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/scheduling/ScheduledTasksEndpointAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import org.springframework.beans.factory.ObjectProvider;
2222
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint;
23+
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnExposedEndpoint;
2324
import org.springframework.boot.actuate.scheduling.ScheduledTasksEndpoint;
2425
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
2526
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -35,6 +36,7 @@
3536
*/
3637
@Configuration
3738
@ConditionalOnEnabledEndpoint(endpoint = ScheduledTasksEndpoint.class)
39+
@ConditionalOnExposedEndpoint(endpoint = ScheduledTasksEndpoint.class)
3840
public class ScheduledTasksEndpointAutoConfiguration {
3941

4042
@Bean

0 commit comments

Comments
 (0)