Skip to content

Commit 2861889

Browse files
committed
Make availability probes back off without spring-boot-health
1 parent ed601fe commit 2861889

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfiguration.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@
2323
import org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration;
2424
import org.springframework.boot.autoconfigure.condition.ConditionMessage;
2525
import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
26+
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2627
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2728
import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
2829
import org.springframework.boot.availability.ApplicationAvailability;
2930
import org.springframework.boot.cloud.CloudPlatform;
31+
import org.springframework.boot.health.contributor.Health;
3032
import org.springframework.context.annotation.Bean;
3133
import org.springframework.context.annotation.ConditionContext;
3234
import org.springframework.context.annotation.Conditional;
@@ -42,6 +44,7 @@
4244
*/
4345
@AutoConfiguration(after = { AvailabilityHealthContributorAutoConfiguration.class,
4446
ApplicationAvailabilityAutoConfiguration.class })
47+
@ConditionalOnClass(Health.class)
4548
@Conditional(AvailabilityProbesAutoConfiguration.ProbesCondition.class)
4649
public class AvailabilityProbesAutoConfiguration {
4750

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/availability/AvailabilityProbesAutoConfigurationTests.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.springframework.boot.autoconfigure.AutoConfigurations;
2424
import org.springframework.boot.autoconfigure.availability.ApplicationAvailabilityAutoConfiguration;
2525
import org.springframework.boot.availability.ApplicationAvailability;
26+
import org.springframework.boot.test.context.FilteredClassLoader;
2627
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
2728
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
2829

@@ -60,6 +61,13 @@ void probesWhenPropertyEnabledAddsBeans() {
6061
.run(this::hasProbesBeans);
6162
}
6263

64+
@Test
65+
void probesWhenPropertyEnabledButNoHealthDependencyDoesNotAddBeans() {
66+
this.contextRunner.withPropertyValues("management.endpoint.health.probes.enabled=true")
67+
.withClassLoader(new FilteredClassLoader("org.springframework.boot.health"))
68+
.run(this::doesNotHaveProbeBeans);
69+
}
70+
6371
@Test
6472
void probesWhenKubernetesAndPropertyDisabledAddsNotBeans() {
6573
this.contextRunner

0 commit comments

Comments
 (0)