From 2ddca760767c866af17fc1305aa06cc20e0ca69f Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Thu, 12 Jun 2025 09:57:33 -0700 Subject: [PATCH] Create spring-boot-health module --- settings.gradle | 1 + .../JacksonEndpointAutoConfiguration.java | 21 +++- ...toConfiguredHealthContributorRegistry.java | 2 +- ...uredReactiveHealthContributorRegistry.java | 2 +- ...mpositeHealthContributorConfiguration.java | 6 +- ...eactiveHealthContributorConfiguration.java | 6 +- .../HealthContributorAutoConfiguration.java | 2 +- .../health/HealthEndpointConfiguration.java | 18 ++-- .../ReactiveHealthEndpointConfiguration.java | 4 +- ...teHealthContributorConfigurationTests.java | 4 +- ...figuredHealthContributorRegistryTests.java | 6 +- ...toConfiguredHealthEndpointGroupsTests.java | 2 +- ...eactiveHealthContributorRegistryTests.java | 6 +- ...teHealthContributorConfigurationTests.java | 8 +- ...veHealthContributorConfigurationTests.java | 9 +- ...althContributorAutoConfigurationTests.java | 4 +- .../HealthEndpointAutoConfigurationTests.java | 20 ++-- ...althContributorAutoConfigurationTests.java | 6 +- .../HealthEndpointDocumentationTests.java | 10 +- .../HealthEndpointWebIntegrationTests.java | 7 ++ .../spring-boot-actuator/build.gradle | 1 + .../AvailabilityStateHealthIndicator.java | 10 +- .../LivenessStateHealthIndicator.java | 4 +- .../ReadinessStateHealthIndicator.java | 4 +- .../actuate/health/ContributorRegistry.java | 4 + .../health/DefaultContributorRegistry.java | 1 + .../DefaultHealthContributorRegistry.java | 2 + ...aultReactiveHealthContributorRegistry.java | 2 + .../health/HealthContributorRegistry.java | 2 + .../boot/actuate/health/HealthEndpoint.java | 3 + .../actuate/health/HealthEndpointGroup.java | 3 + .../actuate/health/HealthEndpointSupport.java | 11 ++- .../health/HealthEndpointWebExtension.java | 3 + ...ealthEndpointWebExtensionRuntimeHints.java | 2 + .../actuate/health/HttpCodeStatusMapper.java | 2 + .../actuate/health/PingHealthIndicator.java | 5 + .../ReactiveHealthContributorRegistry.java | 2 + .../ReactiveHealthEndpointWebExtension.java | 3 + .../health/SimpleHttpCodeStatusMapper.java | 1 + .../health/SimpleStatusAggregator.java | 1 + .../boot/actuate/health/StatusAggregator.java | 3 + .../boot/actuate/health/SystemHealth.java | 26 ++++- .../boot/actuate/ssl/SslHealthIndicator.java | 10 +- .../system/DiskSpaceHealthIndicator.java | 8 +- ...AvailabilityStateHealthIndicatorTests.java | 2 +- .../LivenessStateHealthIndicatorTests.java | 2 +- .../ReadinessStateHealthIndicatorTests.java | 2 +- .../actuate/health/CompositeHealthTests.java | 97 ------------------- .../DefaultContributorRegistryTests.java | 4 + .../health/HealthEndpointSupportTests.java | 7 +- .../actuate/health/HealthEndpointTests.java | 6 ++ ...EndpointWebExtensionRuntimeHintsTests.java | 2 + .../HealthEndpointWebExtensionTests.java | 6 ++ .../health/PingHealthIndicatorTests.java | 2 + ...activeHealthEndpointWebExtensionTests.java | 6 ++ ...iveHealthIndicatorImplementationTests.java | 9 +- .../SimpleHttpCodeStatusMapperTests.java | 1 + .../health/SimpleStatusAggregatorTests.java | 2 + .../actuate/health/SystemHealthTests.java | 33 ++++++- .../actuate/ssl/SslHealthIndicatorTests.java | 4 +- .../system/DiskSpaceHealthIndicatorTests.java | 6 +- ...bitHealthContributorAutoConfiguration.java | 4 +- .../health/RabbitHealthIndicator.java | 8 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 2 +- .../health/RabbitHealthIndicatorTests.java | 6 +- ...draHealthContributorAutoConfiguration.java | 2 +- ...sandraHealthContributorConfigurations.java | 8 +- ...iveHealthContributorAutoConfiguration.java | 2 +- .../CassandraDriverHealthIndicator.java | 10 +- ...assandraDriverReactiveHealthIndicator.java | 10 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 2 +- ...althContributorAutoConfigurationTests.java | 2 +- .../CassandraDriverHealthIndicatorTests.java | 6 +- ...draDriverReactiveHealthIndicatorTests.java | 6 +- ...dryReactiveHealthEndpointWebExtension.java | 2 +- ...loudFoundryHealthEndpointWebExtension.java | 2 +- ...activeHealthEndpointWebExtensionTests.java | 8 +- ...oundryHealthEndpointWebExtensionTests.java | 8 +- ...aseHealthContributorAutoConfiguration.java | 4 +- ...iveHealthContributorAutoConfiguration.java | 4 +- .../{actuate => }/health/CouchbaseHealth.java | 6 +- .../health/CouchbaseHealthIndicator.java | 8 +- .../CouchbaseReactiveHealthIndicator.java | 8 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 4 +- ...althContributorAutoConfigurationTests.java | 4 +- .../health/CouchbaseHealthIndicatorTests.java | 6 +- ...CouchbaseReactiveHealthIndicatorTests.java | 6 +- ...iveHealthContributorAutoConfiguration.java | 4 +- .../ElasticsearchReactiveHealthIndicator.java | 10 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 4 +- ...ticsearchReactiveHealthIndicatorTests.java | 6 +- .../MongoHealthIndicatorIntegrationTests.java | 6 +- ...activeHealthIndicatorIntegrationTests.java | 6 +- ...ngoHealthContributorAutoConfiguration.java | 4 +- ...iveHealthContributorAutoConfiguration.java | 4 +- .../health/MongoHealthIndicator.java | 8 +- .../health/MongoReactiveHealthIndicator.java | 8 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 2 +- ...althContributorAutoConfigurationTests.java | 4 +- .../health/MongoHealthIndicatorTests.java | 6 +- .../MongoReactiveHealthIndicatorTests.java | 6 +- ...disHealthContributorAutoConfiguration.java | 6 +- ...iveHealthContributorAutoConfiguration.java | 6 +- .../{actuate => }/health/RedisHealth.java | 9 +- .../health/RedisHealthIndicator.java | 8 +- .../health/RedisReactiveHealthIndicator.java | 8 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 4 +- ...althContributorAutoConfigurationTests.java | 4 +- .../health/RedisHealthIndicatorTests.java | 6 +- .../RedisReactiveHealthIndicatorTests.java | 6 +- .../MyReactiveHealthIndicator.java | 4 +- .../MyHealthIndicator.java | 4 +- .../MyHealthMetricsExportConfiguration.java | 2 +- .../MyReactiveHealthIndicator.kt | 4 +- .../MyHealthIndicator.kt | 4 +- .../MyHealthMetricsExportConfiguration.kt | 2 +- .../MetricsHealthMicrometerExportTests.java | 6 +- ...estHealthContributorAutoConfiguration.java | 4 +- ...lasticsearchRestClientHealthIndicator.java | 16 ++- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 2 +- ...csearchRestClientHealthIndicatorTests.java | 8 +- ...astHealthContributorAutoConfiguration.java | 4 +- .../health/HazelcastHealthIndicator.java | 8 +- .../{actuate => }/health/package-info.java | 2 +- ...utorAutoConfigurationIntegrationTests.java | 6 +- ...althContributorAutoConfigurationTests.java | 2 +- .../health/HazelcastHealthIndicatorTests.java | 6 +- .../spring-boot-health/build.gradle | 21 ++++ .../boot}/health/AbstractHealthIndicator.java | 13 +-- .../AbstractReactiveHealthIndicator.java | 5 +- .../boot}/health/CompositeHealth.java | 25 +---- .../health/CompositeHealthContributor.java | 6 +- .../CompositeHealthContributorMapAdapter.java | 2 +- ...ositeHealthContributorReactiveAdapter.java | 2 +- .../CompositeReactiveHealthContributor.java | 6 +- ...teReactiveHealthContributorMapAdapter.java | 2 +- .../springframework/boot}/health/Health.java | 16 +-- .../boot}/health/HealthComponent.java | 13 ++- .../boot}/health/HealthContributor.java | 10 +- .../boot}/health/HealthIndicator.java | 10 +- .../HealthIndicatorReactiveAdapter.java | 2 +- .../boot}/health/NamedContributor.java | 4 +- .../boot}/health/NamedContributors.java | 4 +- .../health/NamedContributorsMapAdapter.java | 4 +- .../health/ReactiveHealthContributor.java | 14 +-- .../boot}/health/ReactiveHealthIndicator.java | 10 +- .../springframework/boot}/health/Status.java | 4 +- .../boot/health/package-info.java | 20 ++++ .../health/AbstractHealthIndicatorTests.java | 13 ++- .../AbstractReactiveHealthIndicatorTests.java | 28 ++++-- ...HealthContributorReactiveAdapterTests.java | 2 +- .../CompositeHealthContributorTests.java | 2 +- .../boot/health/CompositeHealthTests.java | 68 +++++++++++++ ...mpositeReactiveHealthContributorTests.java | 2 +- .../HealthIndicatorReactiveAdapterTests.java | 2 +- .../boot}/health/HealthIndicatorTests.java | 2 +- .../boot}/health/HealthTests.java | 2 +- .../boot}/health/NamedContributorTests.java | 2 +- .../NamedContributorsMapAdapterTests.java | 2 +- .../ReactiveHealthContributorTests.java | 11 +-- .../health/ReactiveHealthIndicatorTests.java | 2 +- .../boot}/health/StatusTests.java | 2 +- ...rceHealthContributorAutoConfiguration.java | 8 +- .../DataSourceHealthIndicatorProperties.java | 2 +- .../health/DataSourceHealthIndicator.java | 10 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 6 +- .../DataSourceHealthIndicatorTests.java | 6 +- ...JerseyExtensionAutoConfigurationTests.java | 6 +- ...JmsHealthContributorAutoConfiguration.java | 4 +- .../health/JmsHealthIndicator.java | 8 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 2 +- .../health/JmsHealthIndicatorTests.java | 6 +- ...dapHealthContributorAutoConfiguration.java | 4 +- .../health/LdapHealthIndicator.java | 8 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 2 +- .../health/LdapHealthIndicatorTests.java | 6 +- ...ailHealthContributorAutoConfiguration.java | 4 +- .../health/MailHealthIndicator.java | 10 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 2 +- .../health/MailHealthIndicatorTests.java | 6 +- ...activeHealthIndicatorIntegrationTests.java | 8 +- ...o4jHealthContributorAutoConfiguration.java | 4 +- .../Neo4jHealthContributorConfigurations.java | 8 +- .../health/Neo4jHealthDetails.java | 2 +- .../health/Neo4jHealthDetailsHandler.java | 8 +- .../health/Neo4jHealthIndicator.java | 8 +- .../health/Neo4jReactiveHealthIndicator.java | 8 +- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 10 +- .../health/Neo4jHealthIndicatorTests.java | 6 +- .../Neo4jReactiveHealthIndicatorTests.java | 4 +- .../health/ResultSummaryMock.java | 2 +- ...oryHealthContributorAutoConfiguration.java | 4 +- .../ConnectionFactoryHealthIndicator.java | 19 ++-- .../{actuate => }/health/package-info.java | 2 +- ...althContributorAutoConfigurationTests.java | 2 +- ...ConnectionFactoryHealthIndicatorTests.java | 6 +- ...dpointExtensionAutoConfigurationTests.java | 6 +- ...dpointExtensionAutoConfigurationTests.java | 4 +- .../actuator/ExampleHealthIndicator.java | 4 +- .../actuator/SampleActuatorApplication.java | 8 +- 212 files changed, 753 insertions(+), 632 deletions(-) delete mode 100644 spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthTests.java rename spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/{actuate => }/health/RabbitHealthIndicator.java (86%) rename spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/{actuate => }/health/package-info.java (92%) rename spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/{actuate => }/health/RabbitHealthIndicatorTests.java (94%) rename spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/{actuate => }/health/CassandraDriverHealthIndicator.java (86%) rename spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/{actuate => }/health/CassandraDriverReactiveHealthIndicator.java (86%) rename spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/{actuate => }/health/package-info.java (91%) rename spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/{actuate => }/health/CassandraDriverHealthIndicatorTests.java (97%) rename spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/{actuate => }/health/CassandraDriverReactiveHealthIndicatorTests.java (97%) rename spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/{actuate => }/health/CouchbaseHealth.java (92%) rename spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/{actuate => }/health/CouchbaseHealthIndicator.java (85%) rename spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/{actuate => }/health/CouchbaseReactiveHealthIndicator.java (84%) rename spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/{actuate => }/health/package-info.java (91%) rename spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/{actuate => }/health/CouchbaseHealthIndicatorTests.java (95%) rename spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/{actuate => }/health/CouchbaseReactiveHealthIndicatorTests.java (96%) rename spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/{actuate => }/health/ElasticsearchReactiveHealthIndicator.java (90%) rename spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/{actuate => }/health/package-info.java (91%) rename spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/{actuate => }/health/ElasticsearchReactiveHealthIndicatorTests.java (96%) rename spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/{actuate => }/health/MongoHealthIndicatorIntegrationTests.java (93%) rename spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/{actuate => }/health/MongoReactiveHealthIndicatorIntegrationTests.java (93%) rename spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/{actuate => }/health/MongoHealthIndicator.java (85%) rename spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/{actuate => }/health/MongoReactiveHealthIndicator.java (86%) rename spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/{actuate => }/health/package-info.java (91%) rename spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/{actuate => }/health/MongoHealthIndicatorTests.java (92%) rename spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/{actuate => }/health/MongoReactiveHealthIndicatorTests.java (94%) rename spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/{actuate => }/health/RedisHealth.java (80%) rename spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/{actuate => }/health/RedisHealthIndicator.java (89%) rename spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/{actuate => }/health/RedisReactiveHealthIndicator.java (91%) rename spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/{actuate => }/health/package-info.java (91%) rename spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/{actuate => }/health/RedisHealthIndicatorTests.java (97%) rename spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/{actuate => }/health/RedisReactiveHealthIndicatorTests.java (97%) rename spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/{actuate => }/health/ElasticsearchRestClientHealthIndicator.java (87%) rename spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/{actuate => }/health/package-info.java (91%) rename spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/{actuate => }/health/ElasticsearchRestClientHealthIndicatorTests.java (96%) rename spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/{actuate => }/health/HazelcastHealthIndicator.java (85%) rename spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/{actuate => }/health/package-info.java (91%) rename spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/{actuate => }/health/HazelcastHealthIndicatorTests.java (94%) create mode 100644 spring-boot-project/spring-boot-health/build.gradle rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/AbstractHealthIndicator.java (89%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/AbstractReactiveHealthIndicator.java (97%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/CompositeHealth.java (64%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/CompositeHealthContributor.java (90%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/CompositeHealthContributorMapAdapter.java (95%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/CompositeHealthContributorReactiveAdapter.java (97%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/CompositeReactiveHealthContributor.java (93%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/CompositeReactiveHealthContributorMapAdapter.java (96%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/Health.java (96%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/HealthComponent.java (72%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/HealthContributor.java (74%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/HealthIndicator.java (80%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/HealthIndicatorReactiveAdapter.java (96%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/NamedContributor.java (95%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/NamedContributors.java (95%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/NamedContributorsMapAdapter.java (94%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/ReactiveHealthContributor.java (70%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/ReactiveHealthIndicator.java (82%) rename spring-boot-project/{spring-boot-actuator/src/main/java/org/springframework/boot/actuate => spring-boot-health/src/main/java/org/springframework/boot}/health/Status.java (98%) create mode 100644 spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/package-info.java rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/AbstractHealthIndicatorTests.java (91%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/AbstractReactiveHealthIndicatorTests.java (88%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/CompositeHealthContributorReactiveAdapterTests.java (98%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/CompositeHealthContributorTests.java (97%) create mode 100644 spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthTests.java rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/CompositeReactiveHealthContributorTests.java (98%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/HealthIndicatorReactiveAdapterTests.java (97%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/HealthIndicatorTests.java (96%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/HealthTests.java (99%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/NamedContributorTests.java (96%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/NamedContributorsMapAdapterTests.java (98%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/ReactiveHealthContributorTests.java (85%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/ReactiveHealthIndicatorTests.java (96%) rename spring-boot-project/{spring-boot-actuator/src/test/java/org/springframework/boot/actuate => spring-boot-health/src/test/java/org/springframework/boot}/health/StatusTests.java (97%) rename spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/{actuate => }/health/DataSourceHealthIndicator.java (94%) rename spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/{actuate => }/health/package-info.java (92%) rename spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/{actuate => }/health/DataSourceHealthIndicatorTests.java (96%) rename spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/{actuate => }/health/JmsHealthIndicator.java (91%) rename spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/{actuate => }/health/package-info.java (92%) rename spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/{actuate => }/health/JmsHealthIndicatorTests.java (97%) rename spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/{actuate => }/health/LdapHealthIndicator.java (88%) rename spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/{actuate => }/health/package-info.java (92%) rename spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/{actuate => }/health/LdapHealthIndicatorTests.java (93%) rename spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/{actuate => }/health/MailHealthIndicator.java (82%) rename spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/{actuate => }/health/package-info.java (92%) rename spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/{actuate => }/health/MailHealthIndicatorTests.java (97%) rename spring-boot-project/spring-boot-neo4j/src/dockerTest/java/org/springframework/boot/{actuate/neo4j => neo4/health}/Neo4jReactiveHealthIndicatorIntegrationTests.java (91%) rename spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/{actuate => }/health/Neo4jHealthDetails.java (95%) rename spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/{actuate => }/health/Neo4jHealthDetailsHandler.java (86%) rename spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/{actuate => }/health/Neo4jHealthIndicator.java (92%) rename spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/{actuate => }/health/Neo4jReactiveHealthIndicator.java (93%) rename spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/{actuate => }/health/package-info.java (92%) rename spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/{actuate => }/health/Neo4jHealthIndicatorTests.java (97%) rename spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/{actuate => }/health/Neo4jReactiveHealthIndicatorTests.java (97%) rename spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/{actuate => }/health/ResultSummaryMock.java (96%) rename spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/{actuate => }/health/ConnectionFactoryHealthIndicator.java (85%) rename spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/{actuate => }/health/package-info.java (92%) rename spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/{actuate => }/health/ConnectionFactoryHealthIndicatorTests.java (97%) diff --git a/settings.gradle b/settings.gradle index 6d40f49b67..dfa369c88e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -79,6 +79,7 @@ include "spring-boot-project:spring-boot-gson" include "spring-boot-project:spring-boot-h2console" include "spring-boot-project:spring-boot-hateoas" include "spring-boot-project:spring-boot-hazelcast" +include "spring-boot-project:spring-boot-health" include "spring-boot-project:spring-boot-hibernate" include "spring-boot-project:spring-boot-http-client" include "spring-boot-project:spring-boot-http-converter" diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jackson/JacksonEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jackson/JacksonEndpointAutoConfiguration.java index 5877026a17..4ad36b7f55 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jackson/JacksonEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/jackson/JacksonEndpointAutoConfiguration.java @@ -16,6 +16,9 @@ package org.springframework.boot.actuate.autoconfigure.endpoint.jackson; +import java.util.HashSet; +import java.util.Set; + import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; @@ -25,6 +28,7 @@ import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBooleanProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.health.HealthComponent; import org.springframework.context.annotation.Bean; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; @@ -47,7 +51,22 @@ public class JacksonEndpointAutoConfiguration { SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS) .serializationInclusion(Include.NON_NULL) .build(); - return () -> objectMapper; + Set> supportedTypes = new HashSet<>(EndpointObjectMapper.DEFAULT_SUPPORTED_TYPES); + supportedTypes.add(HealthComponent.class); + return new EndpointObjectMapper() { + + @Override + public ObjectMapper get() { + return objectMapper; + } + + @Override + public Set> getSupportedTypes() { + return supportedTypes; + } + + }; + } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthContributorRegistry.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthContributorRegistry.java index 6d0121715b..ff2f013be6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthContributorRegistry.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthContributorRegistry.java @@ -20,8 +20,8 @@ import java.util.Collection; import java.util.Map; import org.springframework.boot.actuate.health.DefaultHealthContributorRegistry; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.health.HealthContributorRegistry; +import org.springframework.boot.health.HealthContributor; import org.springframework.util.Assert; /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredReactiveHealthContributorRegistry.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredReactiveHealthContributorRegistry.java index f115913dfb..2c2ec8934e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredReactiveHealthContributorRegistry.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredReactiveHealthContributorRegistry.java @@ -21,7 +21,7 @@ import java.util.Map; import org.springframework.boot.actuate.health.DefaultReactiveHealthContributorRegistry; import org.springframework.boot.actuate.health.HealthContributorRegistry; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; +import org.springframework.boot.health.ReactiveHealthContributor; import org.springframework.util.Assert; /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeHealthContributorConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeHealthContributorConfiguration.java index 4b979e94d1..6b30cdae05 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeHealthContributorConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeHealthContributorConfiguration.java @@ -19,9 +19,9 @@ package org.springframework.boot.actuate.autoconfigure.health; import java.util.Map; import java.util.function.Function; -import org.springframework.boot.actuate.health.CompositeHealthContributor; -import org.springframework.boot.actuate.health.HealthContributor; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; /** * Base class for health contributor configurations that can combine source beans into a diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeReactiveHealthContributorConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeReactiveHealthContributorConfiguration.java index 12c4ff22a8..ee3e1c0721 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeReactiveHealthContributorConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/CompositeReactiveHealthContributorConfiguration.java @@ -19,9 +19,9 @@ package org.springframework.boot.actuate.autoconfigure.health; import java.util.Map; import java.util.function.Function; -import org.springframework.boot.actuate.health.CompositeReactiveHealthContributor; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; +import org.springframework.boot.health.CompositeReactiveHealthContributor; +import org.springframework.boot.health.ReactiveHealthContributor; +import org.springframework.boot.health.ReactiveHealthIndicator; /** * Base class for health contributor configurations that can combine source beans into a diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfiguration.java index 6fc06816dd..ea121cbe2b 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfiguration.java @@ -16,10 +16,10 @@ package org.springframework.boot.actuate.autoconfigure.health; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.health.PingHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.health.HealthContributor; import org.springframework.context.annotation.Bean; /** diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.java index 7006182f02..40a8c84115 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointConfiguration.java @@ -26,25 +26,25 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.SmartInitializingSingleton; import org.springframework.beans.factory.config.BeanPostProcessor; -import org.springframework.boot.actuate.health.CompositeHealthContributor; -import org.springframework.boot.actuate.health.CompositeReactiveHealthContributor; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.health.HealthContributorRegistry; import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.health.HealthEndpointGroups; import org.springframework.boot.actuate.health.HealthEndpointGroupsPostProcessor; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.actuate.health.HttpCodeStatusMapper; -import org.springframework.boot.actuate.health.NamedContributor; -import org.springframework.boot.actuate.health.NamedContributors; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; import org.springframework.boot.actuate.health.SimpleHttpCodeStatusMapper; import org.springframework.boot.actuate.health.SimpleStatusAggregator; import org.springframework.boot.actuate.health.StatusAggregator; import org.springframework.boot.autoconfigure.condition.ConditionalOnBooleanProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.CompositeReactiveHealthContributor; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.NamedContributor; +import org.springframework.boot.health.NamedContributors; +import org.springframework.boot.health.ReactiveHealthContributor; +import org.springframework.boot.health.ReactiveHealthIndicator; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/ReactiveHealthEndpointConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/ReactiveHealthEndpointConfiguration.java index b41938a721..557ca6a3ae 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/ReactiveHealthEndpointConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/ReactiveHealthEndpointConfiguration.java @@ -21,14 +21,14 @@ import java.util.Map; import reactor.core.publisher.Flux; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.health.HealthEndpointGroups; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.actuate.health.ReactiveHealthContributorRegistry; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.ReactiveHealthContributor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AbstractCompositeHealthContributorConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AbstractCompositeHealthContributorConfigurationTests.java index e710eee8f3..efe90eeadd 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AbstractCompositeHealthContributorConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AbstractCompositeHealthContributorConfigurationTests.java @@ -22,8 +22,8 @@ import java.util.Map; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.NamedContributor; -import org.springframework.boot.actuate.health.NamedContributors; +import org.springframework.boot.health.NamedContributor; +import org.springframework.boot.health.NamedContributors; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthContributorRegistryTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthContributorRegistryTests.java index b00c909453..3989b1857e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthContributorRegistryTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthContributorRegistryTests.java @@ -21,8 +21,8 @@ import java.util.Collections; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.health.HealthContributorRegistry; +import org.springframework.boot.health.HealthIndicator; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; import static org.mockito.Mockito.mock; @@ -38,7 +38,7 @@ class AutoConfiguredHealthContributorRegistryTests { void createWhenContributorsClashesWithGroupNameThrowsException() { assertThatIllegalStateException() .isThrownBy(() -> new AutoConfiguredHealthContributorRegistry( - Collections.singletonMap("boot", mock(HealthContributor.class)), Arrays.asList("spring", "boot"))) + Collections.singletonMap("boot", mock(HealthIndicator.class)), Arrays.asList("spring", "boot"))) .withMessage("HealthContributor with name \"boot\" clashes with group"); } @@ -47,7 +47,7 @@ class AutoConfiguredHealthContributorRegistryTests { HealthContributorRegistry registry = new AutoConfiguredHealthContributorRegistry(Collections.emptyMap(), Arrays.asList("spring", "boot")); assertThatIllegalStateException() - .isThrownBy(() -> registry.registerContributor("spring", mock(HealthContributor.class))) + .isThrownBy(() -> registry.registerContributor("spring", mock(HealthIndicator.class))) .withMessage("HealthContributor with name \"spring\" clashes with group"); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupsTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupsTests.java index c00790d806..0181feb7bd 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupsTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthEndpointGroupsTests.java @@ -31,10 +31,10 @@ import org.springframework.boot.actuate.health.HealthEndpointGroups; import org.springframework.boot.actuate.health.HttpCodeStatusMapper; import org.springframework.boot.actuate.health.SimpleHttpCodeStatusMapper; import org.springframework.boot.actuate.health.SimpleStatusAggregator; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.actuate.health.StatusAggregator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.health.Status; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredReactiveHealthContributorRegistryTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredReactiveHealthContributorRegistryTests.java index c222878319..76f8b1053d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredReactiveHealthContributorRegistryTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredReactiveHealthContributorRegistryTests.java @@ -21,8 +21,8 @@ import java.util.Collections; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.actuate.health.ReactiveHealthContributorRegistry; +import org.springframework.boot.health.ReactiveHealthIndicator; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; import static org.mockito.Mockito.mock; @@ -38,7 +38,7 @@ class AutoConfiguredReactiveHealthContributorRegistryTests { void createWhenContributorsClashesWithGroupNameThrowsException() { assertThatIllegalStateException() .isThrownBy(() -> new AutoConfiguredReactiveHealthContributorRegistry( - Collections.singletonMap("boot", mock(ReactiveHealthContributor.class)), + Collections.singletonMap("boot", mock(ReactiveHealthIndicator.class)), Arrays.asList("spring", "boot"))) .withMessage("ReactiveHealthContributor with name \"boot\" clashes with group"); } @@ -48,7 +48,7 @@ class AutoConfiguredReactiveHealthContributorRegistryTests { ReactiveHealthContributorRegistry registry = new AutoConfiguredReactiveHealthContributorRegistry( Collections.emptyMap(), Arrays.asList("spring", "boot")); assertThatIllegalStateException() - .isThrownBy(() -> registry.registerContributor("spring", mock(ReactiveHealthContributor.class))) + .isThrownBy(() -> registry.registerContributor("spring", mock(ReactiveHealthIndicator.class))) .withMessage("ReactiveHealthContributor with name \"spring\" clashes with group"); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/CompositeHealthContributorConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/CompositeHealthContributorConfigurationTests.java index 10c2285159..9a23f513f1 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/CompositeHealthContributorConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/CompositeHealthContributorConfigurationTests.java @@ -17,9 +17,9 @@ package org.springframework.boot.actuate.autoconfigure.health; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfigurationTests.TestHealthIndicator; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health.Builder; -import org.springframework.boot.actuate.health.HealthContributor; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthContributor; /** * Tests for {@link CompositeHealthContributorConfiguration}. @@ -49,7 +49,7 @@ class CompositeHealthContributorConfigurationTests } @Override - protected void doHealthCheck(Builder builder) throws Exception { + protected void doHealthCheck(Health.Builder builder) throws Exception { builder.up(); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/CompositeReactiveHealthContributorConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/CompositeReactiveHealthContributorConfigurationTests.java index 778a4ad78f..30c499cd0a 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/CompositeReactiveHealthContributorConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/CompositeReactiveHealthContributorConfigurationTests.java @@ -19,10 +19,9 @@ package org.springframework.boot.actuate.autoconfigure.health; import reactor.core.publisher.Mono; import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfigurationTests.TestReactiveHealthIndicator; -import org.springframework.boot.actuate.health.AbstractReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Health.Builder; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; +import org.springframework.boot.health.AbstractReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.ReactiveHealthContributor; /** * Tests for {@link CompositeReactiveHealthContributorConfiguration}. @@ -52,7 +51,7 @@ class CompositeReactiveHealthContributorConfigurationTests extends } @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { return Mono.just(builder.up().build()); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfigurationTests.java index 42a30bca3c..ad86548916 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthContributorAutoConfigurationTests.java @@ -18,10 +18,10 @@ package org.springframework.boot.actuate.autoconfigure.health; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.actuate.health.PingHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfigurationTests.java index b80f22d768..da9aff7ef0 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfigurationTests.java @@ -30,26 +30,26 @@ import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; -import org.springframework.boot.actuate.health.CompositeHealthContributor; import org.springframework.boot.actuate.health.DefaultHealthContributorRegistry; import org.springframework.boot.actuate.health.DefaultReactiveHealthContributorRegistry; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthComponent; import org.springframework.boot.actuate.health.HealthContributorRegistry; import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.health.HealthEndpointGroups; import org.springframework.boot.actuate.health.HealthEndpointGroupsPostProcessor; import org.springframework.boot.actuate.health.HealthEndpointWebExtension; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.actuate.health.HttpCodeStatusMapper; -import org.springframework.boot.actuate.health.NamedContributor; import org.springframework.boot.actuate.health.ReactiveHealthContributorRegistry; import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.actuate.health.StatusAggregator; -import org.springframework.boot.actuate.health.SystemHealth; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.NamedContributor; +import org.springframework.boot.health.ReactiveHealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.boot.test.context.FilteredClassLoader; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner; @@ -317,7 +317,7 @@ class HealthEndpointAutoConfigurationTests { .withParent(parent) .run((context) -> { HealthComponent health = context.getBean(HealthEndpoint.class).health(); - Map components = ((SystemHealth) health).getComponents(); + Map components = ((CompositeHealth) health).getComponents(); assertThat(components).containsKeys("additional", "ping", "simple"); })); } @@ -332,7 +332,7 @@ class HealthEndpointAutoConfigurationTests { .withParent(parent) .run((context) -> { HealthComponent health = context.getBean(HealthEndpoint.class).health(); - Map components = ((SystemHealth) health).getComponents(); + Map components = ((CompositeHealth) health).getComponents(); assertThat(components).containsKeys("additional", "ping", "simple"); })); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfigurationTests.java index ae8f494b1e..8388d75af6 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/ssl/SslHealthContributorAutoConfigurationTests.java @@ -22,12 +22,12 @@ import java.util.List; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.ssl.SslHealthContributorAutoConfigurationTests.CustomSslInfoConfiguration.CustomSslHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.actuate.ssl.SslHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.ssl.SslAutoConfiguration; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.boot.info.SslInfo; import org.springframework.boot.info.SslInfo.CertificateChainInfo; import org.springframework.boot.ssl.SslBundles; diff --git a/spring-boot-project/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/health/HealthEndpointDocumentationTests.java b/spring-boot-project/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/health/HealthEndpointDocumentationTests.java index 8c6e51a4e2..391c096823 100644 --- a/spring-boot-project/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/health/HealthEndpointDocumentationTests.java +++ b/spring-boot-project/spring-boot-actuator-docs/src/test/java/org/springframework/boot/actuate/docs/health/HealthEndpointDocumentationTests.java @@ -29,23 +29,23 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.docs.MockMvcEndpointDocumentationTests; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.health.AdditionalHealthEndpointPath; -import org.springframework.boot.actuate.health.CompositeHealthContributor; import org.springframework.boot.actuate.health.DefaultHealthContributorRegistry; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.actuate.health.HealthContributorRegistry; import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.health.HealthEndpointGroup; import org.springframework.boot.actuate.health.HealthEndpointGroups; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.actuate.health.HttpCodeStatusMapper; import org.springframework.boot.actuate.health.SimpleHttpCodeStatusMapper; import org.springframework.boot.actuate.health.SimpleStatusAggregator; import org.springframework.boot.actuate.health.StatusAggregator; import org.springframework.boot.actuate.system.DiskSpaceHealthIndicator; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.jdbc.actuate.health.DataSourceHealthIndicator; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration; +import org.springframework.boot.jdbc.health.DataSourceHealthIndicator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; diff --git a/spring-boot-project/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebIntegrationTests.java b/spring-boot-project/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebIntegrationTests.java index 12a7d32717..c1b7420848 100644 --- a/spring-boot-project/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebIntegrationTests.java +++ b/spring-boot-project/spring-boot-actuator-integration-tests/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebIntegrationTests.java @@ -27,6 +27,13 @@ import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.web.test.WebEndpointTest; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.CompositeReactiveHealthContributor; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.ReactiveHealthContributor; +import org.springframework.boot.health.ReactiveHealthIndicator; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-boot-project/spring-boot-actuator/build.gradle b/spring-boot-project/spring-boot-actuator/build.gradle index a4ffb16a4c..96fcd13211 100644 --- a/spring-boot-project/spring-boot-actuator/build.gradle +++ b/spring-boot-project/spring-boot-actuator/build.gradle @@ -10,6 +10,7 @@ description = "Spring Boot Actuator" dependencies { api(project(":spring-boot-project:spring-boot")) + api(project(":spring-boot-project:spring-boot-health")) optional(project(":spring-boot-project:spring-boot-http-converter")) optional(project(":spring-boot-project:spring-boot-jsonb")) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator.java index 3413216924..fc81d3ba13 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicator.java @@ -21,12 +21,12 @@ import java.util.HashMap; import java.util.Map; import java.util.function.Consumer; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health.Builder; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.availability.ApplicationAvailability; import org.springframework.boot.availability.AvailabilityState; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.util.Assert; /** @@ -76,7 +76,7 @@ public class AvailabilityStateHealthIndicator extends AbstractHealthIndicator { } @Override - protected void doHealthCheck(Builder builder) throws Exception { + protected void doHealthCheck(Health.Builder builder) throws Exception { AvailabilityState state = getState(this.applicationAvailability); Status status = this.statusMappings.get(state); if (status == null) { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicator.java index 8b631649ae..492f8a41a1 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicator.java @@ -16,11 +16,11 @@ package org.springframework.boot.actuate.availability; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.availability.ApplicationAvailability; import org.springframework.boot.availability.AvailabilityState; import org.springframework.boot.availability.LivenessState; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; /** * A {@link HealthIndicator} that checks the {@link LivenessState} of the application. diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicator.java index 0837ffe787..062581a41a 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicator.java @@ -16,11 +16,11 @@ package org.springframework.boot.actuate.availability; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.availability.ApplicationAvailability; import org.springframework.boot.availability.AvailabilityState; import org.springframework.boot.availability.ReadinessState; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; /** * A {@link HealthIndicator} that checks the {@link ReadinessState} of the application. diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ContributorRegistry.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ContributorRegistry.java index 4b1f62ba9f..ed521cf3ea 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ContributorRegistry.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ContributorRegistry.java @@ -16,6 +16,10 @@ package org.springframework.boot.actuate.health; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.NamedContributors; +import org.springframework.boot.health.ReactiveHealthContributor; + /** * A mutable registry of health endpoint contributors (either {@link HealthContributor} or * {@link ReactiveHealthContributor}). diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultContributorRegistry.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultContributorRegistry.java index 7e209c2ce0..e0791cbd11 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultContributorRegistry.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultContributorRegistry.java @@ -23,6 +23,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.function.Function; +import org.springframework.boot.health.NamedContributor; import org.springframework.util.Assert; /** diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultHealthContributorRegistry.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultHealthContributorRegistry.java index db45f4ddf0..e027ee0197 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultHealthContributorRegistry.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultHealthContributorRegistry.java @@ -19,6 +19,8 @@ package org.springframework.boot.actuate.health; import java.util.Map; import java.util.function.Function; +import org.springframework.boot.health.HealthContributor; + /** * Default {@link HealthContributorRegistry} implementation. * diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultReactiveHealthContributorRegistry.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultReactiveHealthContributorRegistry.java index 8ec4dba16d..0bc2ec2bf0 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultReactiveHealthContributorRegistry.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/DefaultReactiveHealthContributorRegistry.java @@ -19,6 +19,8 @@ package org.springframework.boot.actuate.health; import java.util.Map; import java.util.function.Function; +import org.springframework.boot.health.ReactiveHealthContributor; + /** * Default {@link ReactiveHealthContributorRegistry} implementation. * diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthContributorRegistry.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthContributorRegistry.java index 0ca69edf03..7b29b9aa1b 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthContributorRegistry.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthContributorRegistry.java @@ -16,6 +16,8 @@ package org.springframework.boot.actuate.health; +import org.springframework.boot.health.HealthContributor; + /** * {@link ContributorRegistry} for {@link HealthContributor HealthContributors}. * diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpoint.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpoint.java index 20f17a3baa..9699981530 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpoint.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpoint.java @@ -27,6 +27,9 @@ import org.springframework.boot.actuate.endpoint.annotation.Endpoint; import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; import org.springframework.boot.actuate.endpoint.annotation.Selector; import org.springframework.boot.actuate.endpoint.annotation.Selector.Match; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; /** * {@link Endpoint @Endpoint} to expose application health information. diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointGroup.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointGroup.java index b0fbcd49f0..146a818d4a 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointGroup.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointGroup.java @@ -17,6 +17,9 @@ package org.springframework.boot.actuate.health; import org.springframework.boot.actuate.endpoint.SecurityContext; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthContributor; /** * A logical grouping of {@link HealthContributor health contributors} that can be exposed diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointSupport.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointSupport.java index c3b30aa359..1928ec11ae 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointSupport.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointSupport.java @@ -30,6 +30,12 @@ import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; import org.springframework.boot.convert.DurationStyle; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.NamedContributor; +import org.springframework.boot.health.NamedContributors; +import org.springframework.boot.health.Status; import org.springframework.core.log.LogMessage; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -195,10 +201,7 @@ abstract class HealthEndpointSupport { Status status = statusAggregator .getAggregateStatus(components.values().stream().map(this::getStatus).collect(Collectors.toSet())); Map instances = showComponents ? components : null; - if (groupNames != null) { - return new SystemHealth(apiVersion, status, instances, groupNames); - } - return new CompositeHealth(apiVersion, status, instances); + return new SystemHealth(status, instances, groupNames, apiVersion); } private Status getStatus(HealthComponent component) { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtension.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtension.java index 0e6e415d4b..17262e6897 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtension.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtension.java @@ -29,6 +29,9 @@ import org.springframework.boot.actuate.endpoint.annotation.Selector.Match; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; import org.springframework.boot.actuate.endpoint.web.annotation.EndpointWebExtension; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; import org.springframework.context.annotation.ImportRuntimeHints; /** diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHints.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHints.java index 805f9be2cf..bd9f18f24e 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHints.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHints.java @@ -19,6 +19,8 @@ package org.springframework.boot.actuate.health; import org.springframework.aot.hint.BindingReflectionHintsRegistrar; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.RuntimeHintsRegistrar; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.Health; /** * {@link RuntimeHintsRegistrar} used by {@link HealthEndpointWebExtension} and diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HttpCodeStatusMapper.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HttpCodeStatusMapper.java index f82a57628a..b20bd2cfb7 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HttpCodeStatusMapper.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HttpCodeStatusMapper.java @@ -16,6 +16,8 @@ package org.springframework.boot.actuate.health; +import org.springframework.boot.health.Status; + /** * Strategy used to map a {@link Status health status} to an HTTP status code. * diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/PingHealthIndicator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/PingHealthIndicator.java index 78eb4cd9ba..2bb82a8ff7 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/PingHealthIndicator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/PingHealthIndicator.java @@ -16,6 +16,11 @@ package org.springframework.boot.actuate.health; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; + /** * Default implementation of {@link HealthIndicator} that returns {@link Status#UP}. * diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthContributorRegistry.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthContributorRegistry.java index a71bd6ac21..c19aa5f0f0 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthContributorRegistry.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthContributorRegistry.java @@ -16,6 +16,8 @@ package org.springframework.boot.actuate.health; +import org.springframework.boot.health.ReactiveHealthContributor; + /** * {@link ContributorRegistry} for {@link ReactiveHealthContributor * ReactiveHealthContributors}. diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtension.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtension.java index df4f296502..8f9181ac23 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtension.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtension.java @@ -32,6 +32,9 @@ import org.springframework.boot.actuate.endpoint.annotation.Selector.Match; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; import org.springframework.boot.actuate.endpoint.web.annotation.EndpointWebExtension; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.ReactiveHealthContributor; +import org.springframework.boot.health.ReactiveHealthIndicator; import org.springframework.context.annotation.ImportRuntimeHints; /** diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapper.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapper.java index 9f4f9321e6..5b079a73a5 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapper.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapper.java @@ -22,6 +22,7 @@ import java.util.LinkedHashMap; import java.util.Map; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; +import org.springframework.boot.health.Status; import org.springframework.util.CollectionUtils; /** diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SimpleStatusAggregator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SimpleStatusAggregator.java index 417213e9d4..05400917ef 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SimpleStatusAggregator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SimpleStatusAggregator.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Set; import java.util.stream.Stream; +import org.springframework.boot.health.Status; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/StatusAggregator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/StatusAggregator.java index 82f4be77b6..629d79e23e 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/StatusAggregator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/StatusAggregator.java @@ -20,6 +20,9 @@ import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; + /** * Strategy used to aggregate {@link Status} instances. *

diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SystemHealth.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SystemHealth.java index d52676ce5a..d288b140d8 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SystemHealth.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SystemHealth.java @@ -22,23 +22,41 @@ import java.util.TreeSet; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonProperty; import org.springframework.boot.actuate.endpoint.ApiVersion; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.Status; /** - * A {@link HealthComponent} that represents the overall system health and the available + * A {@link CompositeHealth} that represents the overall system health and the available * groups. * * @author Phillip Webb - * @since 2.2.0 + * @since 4.0.0 */ public final class SystemHealth extends CompositeHealth { + private final ApiVersion apiVersion; + private final Set groups; - SystemHealth(ApiVersion apiVersion, Status status, Map instances, Set groups) { - super(apiVersion, status, instances); + SystemHealth(Status status, Map components, Set groups, ApiVersion apiVersion) { + super(status, components); this.groups = (groups != null) ? new TreeSet<>(groups) : null; + this.apiVersion = apiVersion; + } + + @Override + public Map getComponents() { + return (this.apiVersion == ApiVersion.V3) ? super.getComponents() : null; + } + + @JsonProperty + @JsonInclude(Include.NON_EMPTY) + public Map getDetails() { + return (this.apiVersion == ApiVersion.V2) ? super.getComponents() : null; } @JsonInclude(Include.NON_EMPTY) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/ssl/SslHealthIndicator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/ssl/SslHealthIndicator.java index 40ac3badb6..e8885d5bab 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/ssl/SslHealthIndicator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/ssl/SslHealthIndicator.java @@ -22,10 +22,10 @@ import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health.Builder; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.boot.info.SslInfo; import org.springframework.boot.info.SslInfo.BundleInfo; import org.springframework.boot.info.SslInfo.CertificateChainInfo; @@ -54,7 +54,7 @@ public class SslHealthIndicator extends AbstractHealthIndicator { } @Override - protected void doHealthCheck(Builder builder) throws Exception { + protected void doHealthCheck(Health.Builder builder) throws Exception { List validCertificateChains = new ArrayList<>(); List invalidCertificateChains = new ArrayList<>(); List expiringCerificateChains = new ArrayList<>(); diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicator.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicator.java index e18dca9753..7b1d77538e 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicator.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicator.java @@ -21,10 +21,10 @@ import java.io.File; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.core.log.LogMessage; import org.springframework.util.unit.DataSize; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicatorTests.java index cc40f23f63..87ebdeab7d 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/AvailabilityStateHealthIndicatorTests.java @@ -21,10 +21,10 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.availability.ApplicationAvailability; import org.springframework.boot.availability.AvailabilityState; import org.springframework.boot.availability.LivenessState; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicatorTests.java index 4770fa64ca..62f6eddf20 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/LivenessStateHealthIndicatorTests.java @@ -19,9 +19,9 @@ package org.springframework.boot.actuate.availability; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.availability.ApplicationAvailability; import org.springframework.boot.availability.LivenessState; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicatorTests.java index 7147bc5ad6..06dce6a8f6 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/availability/ReadinessStateHealthIndicatorTests.java @@ -19,9 +19,9 @@ package org.springframework.boot.actuate.availability; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.availability.ApplicationAvailability; import org.springframework.boot.availability.ReadinessState; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthTests.java deleted file mode 100644 index 57b70b3ace..0000000000 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthTests.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright 2012-2025 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.boot.actuate.health; - -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.Map; - -import com.fasterxml.jackson.databind.MapperFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.json.JsonMapper; -import org.junit.jupiter.api.Test; - -import org.springframework.boot.actuate.endpoint.ApiVersion; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; - -/** - * Test for {@link CompositeHealth}. - * - * @author Phillip Webb - */ -class CompositeHealthTests { - - @Test - void createWhenStatusIsNullThrowsException() { - assertThatIllegalArgumentException() - .isThrownBy(() -> new CompositeHealth(ApiVersion.V3, null, Collections.emptyMap())) - .withMessage("'status' must not be null"); - } - - @Test - void getStatusReturnsStatus() { - CompositeHealth health = new CompositeHealth(ApiVersion.V3, Status.UP, Collections.emptyMap()); - assertThat(health.getStatus()).isEqualTo(Status.UP); - } - - @Test - void getComponentReturnsComponents() { - Map components = new LinkedHashMap<>(); - components.put("a", Health.up().build()); - CompositeHealth health = new CompositeHealth(ApiVersion.V3, Status.UP, components); - assertThat(health.getComponents()).isEqualTo(components); - } - - @Test - void serializeV3WithJacksonReturnsValidJson() throws Exception { - Map components = new LinkedHashMap<>(); - components.put("db1", Health.up().build()); - components.put("db2", Health.down().withDetail("a", "b").build()); - CompositeHealth health = new CompositeHealth(ApiVersion.V3, Status.UP, components); - ObjectMapper mapper = new ObjectMapper(); - String json = mapper.writeValueAsString(health); - assertThat(json).isEqualTo("{\"status\":\"UP\",\"components\":{\"db1\":{\"status\":\"UP\"}," - + "\"db2\":{\"status\":\"DOWN\",\"details\":{\"a\":\"b\"}}}}"); - } - - @Test - void serializeV2WithJacksonReturnsValidJson() throws Exception { - Map components = new LinkedHashMap<>(); - components.put("db1", Health.up().build()); - components.put("db2", Health.down().withDetail("a", "b").build()); - CompositeHealth health = new CompositeHealth(ApiVersion.V2, Status.UP, components); - ObjectMapper mapper = new ObjectMapper(); - String json = mapper.writeValueAsString(health); - assertThat(json).isEqualTo("{\"status\":\"UP\",\"details\":{\"db1\":{\"status\":\"UP\"}," - + "\"db2\":{\"status\":\"DOWN\",\"details\":{\"a\":\"b\"}}}}"); - } - - @Test // gh-26797 - void serializeV2WithJacksonAndDisabledCanOverrideAccessModifiersReturnsValidJson() throws Exception { - Map components = new LinkedHashMap<>(); - components.put("db1", Health.up().build()); - components.put("db2", Health.down().withDetail("a", "b").build()); - CompositeHealth health = new CompositeHealth(ApiVersion.V2, Status.UP, components); - JsonMapper mapper = JsonMapper.builder().disable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS).build(); - String json = mapper.writeValueAsString(health); - assertThat(json).isEqualTo("{\"status\":\"UP\",\"details\":{\"db1\":{\"status\":\"UP\"}," - + "\"db2\":{\"status\":\"DOWN\",\"details\":{\"a\":\"b\"}}}}"); - } - -} diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DefaultContributorRegistryTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DefaultContributorRegistryTests.java index 6316adfe62..3791a6f25c 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DefaultContributorRegistryTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/DefaultContributorRegistryTests.java @@ -22,6 +22,10 @@ import java.util.Iterator; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.NamedContributor; + import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointSupportTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointSupportTests.java index 59e08c0430..16f776b660 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointSupportTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointSupportTests.java @@ -28,6 +28,10 @@ import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; import org.springframework.boot.actuate.health.HealthEndpointSupport.HealthResult; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; @@ -202,7 +206,8 @@ abstract class HealthEndpointSupportTests, this.registry.registerContributor("atest", createContributor(this.up)); HealthResult result = create(this.registry, this.groups).getHealth(ApiVersion.V3, null, SecurityContext.NONE, false, "alltheas"); - assertThat(getHealth(result)).isNotInstanceOf(SystemHealth.class); + SystemHealth systemHealth = (SystemHealth) getHealth(result); + assertThat(systemHealth.getGroups()).isNull(); } @Test diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointTests.java index 347b8b881e..bac2fd180a 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointTests.java @@ -24,6 +24,12 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.actuate.health.HealthEndpointSupport.HealthResult; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.boot.test.system.CapturedOutput; import org.springframework.boot.test.system.OutputCaptureExtension; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHintsTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHintsTests.java index 4f3d5a2b7f..036e796ae6 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHintsTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionRuntimeHintsTests.java @@ -23,6 +23,8 @@ import org.junit.jupiter.api.Test; import org.springframework.aot.hint.MemberCategory; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.predicate.RuntimeHintsPredicates; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.Health; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionTests.java index f340799faa..607a355d5c 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthEndpointWebExtensionTests.java @@ -27,6 +27,12 @@ import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; import org.springframework.boot.actuate.endpoint.web.WebServerNamespace; import org.springframework.boot.actuate.health.HealthEndpointSupport.HealthResult; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/PingHealthIndicatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/PingHealthIndicatorTests.java index bd2cbc548d..c6c5e140b2 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/PingHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/PingHealthIndicatorTests.java @@ -18,6 +18,8 @@ package org.springframework.boot.actuate.health; import org.junit.jupiter.api.Test; +import org.springframework.boot.health.Status; + import static org.assertj.core.api.Assertions.assertThat; /** diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtensionTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtensionTests.java index 60a5958109..ab8aa81c05 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtensionTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthEndpointWebExtensionTests.java @@ -27,6 +27,12 @@ import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.boot.actuate.endpoint.SecurityContext; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; import org.springframework.boot.actuate.health.HealthEndpointSupport.HealthResult; +import org.springframework.boot.health.CompositeReactiveHealthContributor; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.ReactiveHealthContributor; +import org.springframework.boot.health.ReactiveHealthIndicator; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.mock; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorImplementationTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorImplementationTests.java index 042b5bed22..a9ada44389 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorImplementationTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorImplementationTests.java @@ -23,7 +23,8 @@ import org.junit.jupiter.api.extension.ExtendWith; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import org.springframework.boot.actuate.health.Health.Builder; +import org.springframework.boot.health.AbstractReactiveHealthIndicator; +import org.springframework.boot.health.Health; import org.springframework.boot.test.system.CapturedOutput; import org.springframework.boot.test.system.OutputCaptureExtension; @@ -73,7 +74,7 @@ class ReactiveHealthIndicatorImplementationTests { } @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { return Mono.just(builder.up().build()); } @@ -86,7 +87,7 @@ class ReactiveHealthIndicatorImplementationTests { } @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { return Mono.error(new UnsupportedOperationException()); } @@ -100,7 +101,7 @@ class ReactiveHealthIndicatorImplementationTests { } @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { throw new RuntimeException(); } diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapperTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapperTests.java index 7aac9e40eb..b9c0b8be26 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapperTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleHttpCodeStatusMapperTests.java @@ -22,6 +22,7 @@ import java.util.Map; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleStatusAggregatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleStatusAggregatorTests.java index 1e0b9ab441..9b5efdbc4a 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleStatusAggregatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleStatusAggregatorTests.java @@ -18,6 +18,8 @@ package org.springframework.boot.actuate.health; import org.junit.jupiter.api.Test; +import org.springframework.boot.health.Status; + import static org.assertj.core.api.Assertions.assertThat; /** diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SystemHealthTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SystemHealthTests.java index 401719b52e..55f899d43d 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SystemHealthTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SystemHealthTests.java @@ -17,15 +17,22 @@ package org.springframework.boot.actuate.health; import java.util.Arrays; +import java.util.Collections; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.Map; import java.util.Set; +import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.json.JsonMapper; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.endpoint.ApiVersion; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; @@ -42,7 +49,7 @@ class SystemHealthTests { components.put("db1", Health.up().build()); components.put("db2", Health.down().withDetail("a", "b").build()); Set groups = new LinkedHashSet<>(Arrays.asList("liveness", "readiness")); - CompositeHealth health = new SystemHealth(ApiVersion.V3, Status.UP, components, groups); + CompositeHealth health = new SystemHealth(Status.UP, components, groups, ApiVersion.V3); ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(health); assertThat(json).isEqualTo("{\"status\":\"UP\",\"components\":{\"db1\":{\"status\":\"UP\"}," @@ -50,4 +57,28 @@ class SystemHealthTests { + "\"groups\":[\"liveness\",\"readiness\"]}"); } + @Test + void serializeWhenNoGroupsWithJacksonReturnsValidJson() throws Exception { + Map components = new LinkedHashMap<>(); + components.put("db1", Health.up().build()); + components.put("db2", Health.down().withDetail("a", "b").build()); + CompositeHealth health = new SystemHealth(Status.UP, components, null, ApiVersion.V2); + ObjectMapper mapper = new ObjectMapper(); + String json = mapper.writeValueAsString(health); + assertThat(json).isEqualTo("{\"status\":\"UP\",\"details\":{\"db1\":{\"status\":\"UP\"}," + + "\"db2\":{\"status\":\"DOWN\",\"details\":{\"a\":\"b\"}}}}"); + } + + @Test // gh-26797 + void serializeV2WithJacksonAndDisabledCanOverrideAccessModifiersReturnsValidJson() throws Exception { + Map components = new LinkedHashMap<>(); + components.put("db1", Health.up().build()); + components.put("db2", Health.down().withDetail("a", "b").build()); + CompositeHealth health = new SystemHealth(Status.UP, components, Collections.emptySet(), ApiVersion.V2); + JsonMapper mapper = JsonMapper.builder().disable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS).build(); + String json = mapper.writeValueAsString(health); + assertThat(json).isEqualTo("{\"status\":\"UP\",\"details\":{\"db1\":{\"status\":\"UP\"}," + + "\"db2\":{\"status\":\"DOWN\",\"details\":{\"a\":\"b\"}}}}"); + } + } diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/ssl/SslHealthIndicatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/ssl/SslHealthIndicatorTests.java index 8d3295b3b8..bd0ad952a6 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/ssl/SslHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/ssl/SslHealthIndicatorTests.java @@ -23,8 +23,8 @@ import java.util.List; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.boot.info.SslInfo; import org.springframework.boot.info.SslInfo.BundleInfo; import org.springframework.boot.info.SslInfo.CertificateChainInfo; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicatorTests.java b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicatorTests.java index 2a20dcad92..397dafeea8 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/system/DiskSpaceHealthIndicatorTests.java @@ -24,9 +24,9 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.util.unit.DataSize; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfiguration.java index aca6c7d7db..aee2328e5b 100644 --- a/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfiguration.java @@ -20,14 +20,14 @@ import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.HealthContributor; -import org.springframework.boot.amqp.actuate.health.RabbitHealthIndicator; import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration; +import org.springframework.boot.amqp.health.RabbitHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; +import org.springframework.boot.health.HealthContributor; import org.springframework.context.annotation.Bean; /** diff --git a/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicator.java b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/health/RabbitHealthIndicator.java similarity index 86% rename from spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicator.java rename to spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/health/RabbitHealthIndicator.java index 5db00a6705..43791d6765 100644 --- a/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicator.java +++ b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/health/RabbitHealthIndicator.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package org.springframework.boot.amqp.actuate.health; +package org.springframework.boot.amqp.health; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.util.Assert; /** diff --git a/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/package-info.java b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/health/package-info.java similarity index 92% rename from spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/package-info.java rename to spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/health/package-info.java index acae805313..a4dd9d91b5 100644 --- a/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-amqp/src/main/java/org/springframework/boot/amqp/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for AMQP and RabbitMQ. */ -package org.springframework.boot.amqp.actuate.health; +package org.springframework.boot.amqp.health; diff --git a/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfigurationTests.java index 244537edc5..420200f9ec 100644 --- a/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/autoconfigure/health/RabbitHealthContributorAutoConfigurationTests.java @@ -19,8 +19,8 @@ package org.springframework.boot.amqp.autoconfigure.health; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; -import org.springframework.boot.amqp.actuate.health.RabbitHealthIndicator; import org.springframework.boot.amqp.autoconfigure.RabbitAutoConfiguration; +import org.springframework.boot.amqp.health.RabbitHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicatorTests.java b/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/health/RabbitHealthIndicatorTests.java similarity index 94% rename from spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicatorTests.java rename to spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/health/RabbitHealthIndicatorTests.java index 39fb2bac49..fe1d890165 100644 --- a/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/actuate/health/RabbitHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-amqp/src/test/java/org/springframework/boot/amqp/health/RabbitHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.amqp.actuate.health; +package org.springframework.boot.amqp.health; import java.util.Collections; @@ -27,8 +27,8 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.amqp.rabbit.core.ChannelCallback; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; diff --git a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfiguration.java index f65da5990c..a5f547e996 100644 --- a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfiguration.java @@ -22,9 +22,9 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnable import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.cassandra.actuate.health.CassandraDriverHealthIndicator; import org.springframework.boot.cassandra.autoconfigure.CassandraAutoConfiguration; import org.springframework.boot.cassandra.autoconfigure.health.CassandraHealthContributorConfigurations.CassandraDriverConfiguration; +import org.springframework.boot.cassandra.health.CassandraDriverHealthIndicator; import org.springframework.context.annotation.Import; /** diff --git a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorConfigurations.java b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorConfigurations.java index 5415310742..513cfa8b01 100644 --- a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorConfigurations.java +++ b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorConfigurations.java @@ -23,12 +23,12 @@ import com.datastax.oss.driver.api.core.CqlSession; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration; -import org.springframework.boot.actuate.health.HealthContributor; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.cassandra.actuate.health.CassandraDriverHealthIndicator; -import org.springframework.boot.cassandra.actuate.health.CassandraDriverReactiveHealthIndicator; +import org.springframework.boot.cassandra.health.CassandraDriverHealthIndicator; +import org.springframework.boot.cassandra.health.CassandraDriverReactiveHealthIndicator; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.ReactiveHealthContributor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfiguration.java index 90151bc4c1..850206f6bd 100644 --- a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfiguration.java @@ -23,9 +23,9 @@ import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnable import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.cassandra.actuate.health.CassandraDriverReactiveHealthIndicator; import org.springframework.boot.cassandra.autoconfigure.CassandraAutoConfiguration; import org.springframework.boot.cassandra.autoconfigure.health.CassandraHealthContributorConfigurations.CassandraReactiveDriverConfiguration; +import org.springframework.boot.cassandra.health.CassandraDriverReactiveHealthIndicator; import org.springframework.context.annotation.Import; /** diff --git a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverHealthIndicator.java b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/health/CassandraDriverHealthIndicator.java similarity index 86% rename from spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverHealthIndicator.java rename to spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/health/CassandraDriverHealthIndicator.java index 12ee5532e8..0bf5779b61 100644 --- a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverHealthIndicator.java +++ b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/health/CassandraDriverHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.cassandra.actuate.health; +package org.springframework.boot.cassandra.health; import java.util.Collection; import java.util.Optional; @@ -23,10 +23,10 @@ import com.datastax.oss.driver.api.core.CqlSession; import com.datastax.oss.driver.api.core.metadata.Node; import com.datastax.oss.driver.api.core.metadata.NodeState; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.util.Assert; /** diff --git a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverReactiveHealthIndicator.java b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/health/CassandraDriverReactiveHealthIndicator.java similarity index 86% rename from spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverReactiveHealthIndicator.java rename to spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/health/CassandraDriverReactiveHealthIndicator.java index eff7422cc9..f6ba19face 100644 --- a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/health/CassandraDriverReactiveHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.cassandra.actuate.health; +package org.springframework.boot.cassandra.health; import java.util.Collection; import java.util.Optional; @@ -24,10 +24,10 @@ import com.datastax.oss.driver.api.core.metadata.Node; import com.datastax.oss.driver.api.core.metadata.NodeState; import reactor.core.publisher.Mono; -import org.springframework.boot.actuate.health.AbstractReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.AbstractReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.ReactiveHealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.util.Assert; /** diff --git a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/actuate/health/package-info.java b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/health/package-info.java similarity index 91% rename from spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/actuate/health/package-info.java rename to spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/health/package-info.java index 9ca45d1e6b..d6e8c74f01 100644 --- a/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-cassandra/src/main/java/org/springframework/boot/cassandra/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for Cassandra. */ -package org.springframework.boot.cassandra.actuate.health; +package org.springframework.boot.cassandra.health; diff --git a/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfigurationTests.java index 919df48602..dcb91ac603 100644 --- a/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraHealthContributorAutoConfigurationTests.java @@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.cassandra.actuate.health.CassandraDriverHealthIndicator; +import org.springframework.boot.cassandra.health.CassandraDriverHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfigurationTests.java index b6d3945998..9dff739cb9 100644 --- a/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/autoconfigure/health/CassandraReactiveHealthContributorAutoConfigurationTests.java @@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.cassandra.actuate.health.CassandraDriverReactiveHealthIndicator; +import org.springframework.boot.cassandra.health.CassandraDriverReactiveHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverHealthIndicatorTests.java b/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/health/CassandraDriverHealthIndicatorTests.java similarity index 97% rename from spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverHealthIndicatorTests.java rename to spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/health/CassandraDriverHealthIndicatorTests.java index f0c5dfce75..06aa5d4daa 100644 --- a/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/health/CassandraDriverHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.cassandra.actuate.health; +package org.springframework.boot.cassandra.health; import java.util.ArrayList; import java.util.Collections; @@ -31,8 +31,8 @@ import com.datastax.oss.driver.api.core.metadata.Node; import com.datastax.oss.driver.api.core.metadata.NodeState; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; diff --git a/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/health/CassandraDriverReactiveHealthIndicatorTests.java similarity index 97% rename from spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverReactiveHealthIndicatorTests.java rename to spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/health/CassandraDriverReactiveHealthIndicatorTests.java index bb20c04eb7..47cd3d83ce 100644 --- a/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/actuate/health/CassandraDriverReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-cassandra/src/test/java/org/springframework/boot/cassandra/health/CassandraDriverReactiveHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.cassandra.actuate.health; +package org.springframework.boot.cassandra.health; import java.time.Duration; import java.util.ArrayList; @@ -34,8 +34,8 @@ import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; diff --git a/spring-boot-project/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtension.java b/spring-boot-project/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtension.java index cbf61dd6e0..994b7ff4c8 100644 --- a/spring-boot-project/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtension.java +++ b/spring-boot-project/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtension.java @@ -25,10 +25,10 @@ import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; import org.springframework.boot.actuate.endpoint.annotation.Selector; import org.springframework.boot.actuate.endpoint.annotation.Selector.Match; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; -import org.springframework.boot.actuate.health.HealthComponent; import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension; import org.springframework.boot.cloudfoundry.actuate.autoconfigure.endpoint.EndpointCloudFoundryExtension; +import org.springframework.boot.health.HealthComponent; /** * Reactive {@link EndpointExtension @EndpointExtension} for the {@link HealthEndpoint} diff --git a/spring-boot-project/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryHealthEndpointWebExtension.java b/spring-boot-project/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryHealthEndpointWebExtension.java index 10c009af94..f5ec04e017 100644 --- a/spring-boot-project/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryHealthEndpointWebExtension.java +++ b/spring-boot-project/spring-boot-cloudfoundry/src/main/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryHealthEndpointWebExtension.java @@ -23,10 +23,10 @@ import org.springframework.boot.actuate.endpoint.annotation.ReadOperation; import org.springframework.boot.actuate.endpoint.annotation.Selector; import org.springframework.boot.actuate.endpoint.annotation.Selector.Match; import org.springframework.boot.actuate.endpoint.web.WebEndpointResponse; -import org.springframework.boot.actuate.health.HealthComponent; import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.health.HealthEndpointWebExtension; import org.springframework.boot.cloudfoundry.actuate.autoconfigure.endpoint.EndpointCloudFoundryExtension; +import org.springframework.boot.health.HealthComponent; /** * {@link EndpointExtension @EndpointExtension} for the {@link HealthEndpoint} that always diff --git a/spring-boot-project/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtensionTests.java b/spring-boot-project/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtensionTests.java index 0ed563e91c..d5c5859582 100644 --- a/spring-boot-project/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtensionTests.java +++ b/spring-boot-project/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/reactive/CloudFoundryReactiveHealthEndpointWebExtensionTests.java @@ -26,12 +26,12 @@ import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAu import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.endpoint.ApiVersion; -import org.springframework.boot.actuate.health.CompositeHealth; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthComponent; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.HealthIndicator; import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration; import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration; import org.springframework.boot.security.autoconfigure.reactive.ReactiveSecurityAutoConfiguration; diff --git a/spring-boot-project/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryHealthEndpointWebExtensionTests.java b/spring-boot-project/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryHealthEndpointWebExtensionTests.java index a6f505915a..c85fc02c61 100644 --- a/spring-boot-project/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryHealthEndpointWebExtensionTests.java +++ b/spring-boot-project/spring-boot-cloudfoundry/src/test/java/org/springframework/boot/cloudfoundry/actuate/autoconfigure/endpoint/servlet/CloudFoundryHealthEndpointWebExtensionTests.java @@ -24,12 +24,12 @@ import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAu import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration; import org.springframework.boot.actuate.endpoint.ApiVersion; -import org.springframework.boot.actuate.health.CompositeHealth; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthComponent; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration; +import org.springframework.boot.health.CompositeHealth; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthComponent; +import org.springframework.boot.health.HealthIndicator; import org.springframework.boot.http.converter.autoconfigure.HttpMessageConvertersAutoConfiguration; import org.springframework.boot.jackson.autoconfigure.JacksonAutoConfiguration; import org.springframework.boot.restclient.autoconfigure.RestTemplateAutoConfiguration; diff --git a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfiguration.java index f6723e67e9..dab38cc19f 100644 --- a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfiguration.java @@ -21,14 +21,14 @@ import com.couchbase.client.java.Cluster; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.couchbase.actuate.health.CouchbaseHealthIndicator; import org.springframework.boot.couchbase.autoconfigure.CouchbaseAutoConfiguration; +import org.springframework.boot.couchbase.health.CouchbaseHealthIndicator; +import org.springframework.boot.health.HealthContributor; import org.springframework.context.annotation.Bean; /** diff --git a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfiguration.java index 37a7e2f67a..fdc283b613 100644 --- a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfiguration.java @@ -22,14 +22,14 @@ import reactor.core.publisher.Flux; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.couchbase.actuate.health.CouchbaseReactiveHealthIndicator; import org.springframework.boot.couchbase.autoconfigure.CouchbaseAutoConfiguration; +import org.springframework.boot.couchbase.health.CouchbaseReactiveHealthIndicator; +import org.springframework.boot.health.ReactiveHealthContributor; import org.springframework.context.annotation.Bean; /** diff --git a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/CouchbaseHealth.java b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/CouchbaseHealth.java similarity index 92% rename from spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/CouchbaseHealth.java rename to spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/CouchbaseHealth.java index 62518247af..934074da05 100644 --- a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/CouchbaseHealth.java +++ b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/CouchbaseHealth.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.couchbase.actuate.health; +package org.springframework.boot.couchbase.health; import java.util.Collection; import java.util.HashMap; @@ -24,7 +24,7 @@ import com.couchbase.client.core.diagnostics.ClusterState; import com.couchbase.client.core.diagnostics.DiagnosticsResult; import com.couchbase.client.core.diagnostics.EndpointDiagnostics; -import org.springframework.boot.actuate.health.Health.Builder; +import org.springframework.boot.health.Health; /** * Details of Couchbase's health. @@ -39,7 +39,7 @@ class CouchbaseHealth { this.diagnostics = diagnostics; } - void applyTo(Builder builder) { + void applyTo(Health.Builder builder) { builder = isCouchbaseUp(this.diagnostics) ? builder.up() : builder.down(); builder.withDetail("sdk", this.diagnostics.sdk()); builder.withDetail("endpoints", diff --git a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/CouchbaseHealthIndicator.java b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/CouchbaseHealthIndicator.java similarity index 85% rename from spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/CouchbaseHealthIndicator.java rename to spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/CouchbaseHealthIndicator.java index 837ea791ed..fad2d971c3 100644 --- a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/CouchbaseHealthIndicator.java +++ b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/CouchbaseHealthIndicator.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package org.springframework.boot.couchbase.actuate.health; +package org.springframework.boot.couchbase.health; import com.couchbase.client.core.diagnostics.DiagnosticsResult; import com.couchbase.client.java.Cluster; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.util.Assert; /** diff --git a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/CouchbaseReactiveHealthIndicator.java b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/CouchbaseReactiveHealthIndicator.java similarity index 84% rename from spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/CouchbaseReactiveHealthIndicator.java rename to spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/CouchbaseReactiveHealthIndicator.java index e0cef8125b..22bf3ea86a 100644 --- a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/CouchbaseReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/CouchbaseReactiveHealthIndicator.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package org.springframework.boot.couchbase.actuate.health; +package org.springframework.boot.couchbase.health; import com.couchbase.client.java.Cluster; import reactor.core.publisher.Mono; -import org.springframework.boot.actuate.health.AbstractReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; +import org.springframework.boot.health.AbstractReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.ReactiveHealthIndicator; /** * A {@link ReactiveHealthIndicator} for Couchbase. diff --git a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/package-info.java b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/package-info.java similarity index 91% rename from spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/package-info.java rename to spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/package-info.java index 65df5bfde5..bf000964d3 100644 --- a/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-couchbase/src/main/java/org/springframework/boot/couchbase/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for Couchbase. */ -package org.springframework.boot.couchbase.actuate.health; +package org.springframework.boot.couchbase.health; diff --git a/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfigurationTests.java index 201e8974e9..f0183962f1 100644 --- a/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseHealthContributorAutoConfigurationTests.java @@ -21,8 +21,8 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.couchbase.actuate.health.CouchbaseHealthIndicator; -import org.springframework.boot.couchbase.actuate.health.CouchbaseReactiveHealthIndicator; +import org.springframework.boot.couchbase.health.CouchbaseHealthIndicator; +import org.springframework.boot.couchbase.health.CouchbaseReactiveHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfigurationTests.java index 81600075eb..51b707124b 100644 --- a/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/autoconfigure/health/CouchbaseReactiveHealthContributorAutoConfigurationTests.java @@ -21,8 +21,8 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.couchbase.actuate.health.CouchbaseHealthIndicator; -import org.springframework.boot.couchbase.actuate.health.CouchbaseReactiveHealthIndicator; +import org.springframework.boot.couchbase.health.CouchbaseHealthIndicator; +import org.springframework.boot.couchbase.health.CouchbaseReactiveHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/actuate/health/CouchbaseHealthIndicatorTests.java b/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/health/CouchbaseHealthIndicatorTests.java similarity index 95% rename from spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/actuate/health/CouchbaseHealthIndicatorTests.java rename to spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/health/CouchbaseHealthIndicatorTests.java index 42f9c6a8a3..e65d4aec79 100644 --- a/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/actuate/health/CouchbaseHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/health/CouchbaseHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.couchbase.actuate.health; +package org.springframework.boot.couchbase.health; import java.util.Arrays; import java.util.Collections; @@ -30,8 +30,8 @@ import com.couchbase.client.core.service.ServiceType; import com.couchbase.client.java.Cluster; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; diff --git a/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/actuate/health/CouchbaseReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/health/CouchbaseReactiveHealthIndicatorTests.java similarity index 96% rename from spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/actuate/health/CouchbaseReactiveHealthIndicatorTests.java rename to spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/health/CouchbaseReactiveHealthIndicatorTests.java index 48d1549178..210e309b12 100644 --- a/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/actuate/health/CouchbaseReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-couchbase/src/test/java/org/springframework/boot/couchbase/health/CouchbaseReactiveHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.couchbase.actuate.health; +package org.springframework.boot.couchbase.health; import java.time.Duration; import java.util.Arrays; @@ -33,8 +33,8 @@ import com.couchbase.client.java.ReactiveCluster; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; diff --git a/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfiguration.java index 6408e93256..c870f67ca5 100644 --- a/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfiguration.java @@ -21,14 +21,14 @@ import reactor.core.publisher.Flux; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.data.elasticsearch.actuate.health.ElasticsearchReactiveHealthIndicator; +import org.springframework.boot.data.elasticsearch.health.ElasticsearchReactiveHealthIndicator; import org.springframework.boot.elasticsearch.autoconfigure.ReactiveElasticsearchClientAutoConfiguration; +import org.springframework.boot.health.ReactiveHealthContributor; import org.springframework.context.annotation.Bean; import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchClient; diff --git a/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/ElasticsearchReactiveHealthIndicator.java b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/health/ElasticsearchReactiveHealthIndicator.java similarity index 90% rename from spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/ElasticsearchReactiveHealthIndicator.java rename to spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/health/ElasticsearchReactiveHealthIndicator.java index 089dafdbbd..8940837455 100644 --- a/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/ElasticsearchReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/health/ElasticsearchReactiveHealthIndicator.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package org.springframework.boot.data.elasticsearch.actuate.health; +package org.springframework.boot.data.elasticsearch.health; import co.elastic.clients.elasticsearch._types.HealthStatus; import co.elastic.clients.elasticsearch.cluster.HealthResponse; import reactor.core.publisher.Mono; -import org.springframework.boot.actuate.health.AbstractReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.AbstractReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchClient; /** diff --git a/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/package-info.java b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/health/package-info.java similarity index 91% rename from spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/package-info.java rename to spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/health/package-info.java index fe7150ddf4..aceb5e0889 100644 --- a/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-data-elasticsearch/src/main/java/org/springframework/boot/data/elasticsearch/health/package-info.java @@ -17,4 +17,4 @@ /** * Elasticsearch health integration using Spring Data Elasticsearch. */ -package org.springframework.boot.data.elasticsearch.actuate.health; +package org.springframework.boot.data.elasticsearch.health; diff --git a/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java index e6ea851228..d0780c40e4 100644 --- a/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/autoconfigure/health/ElasticsearchReactiveHealthContributorAutoConfigurationTests.java @@ -20,12 +20,12 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.data.elasticsearch.actuate.health.ElasticsearchReactiveHealthIndicator; import org.springframework.boot.data.elasticsearch.autoconfigure.ElasticsearchDataAutoConfiguration; -import org.springframework.boot.elasticsearch.actuate.health.ElasticsearchRestClientHealthIndicator; +import org.springframework.boot.data.elasticsearch.health.ElasticsearchReactiveHealthIndicator; import org.springframework.boot.elasticsearch.autoconfigure.ElasticsearchRestClientAutoConfiguration; import org.springframework.boot.elasticsearch.autoconfigure.ReactiveElasticsearchClientAutoConfiguration; import org.springframework.boot.elasticsearch.autoconfigure.health.ElasticsearchRestHealthContributorAutoConfiguration; +import org.springframework.boot.elasticsearch.health.ElasticsearchRestClientHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/actuate/health/ElasticsearchReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/health/ElasticsearchReactiveHealthIndicatorTests.java similarity index 96% rename from spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/actuate/health/ElasticsearchReactiveHealthIndicatorTests.java rename to spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/health/ElasticsearchReactiveHealthIndicatorTests.java index 2049caaefc..d15aaa0c13 100644 --- a/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/actuate/health/ElasticsearchReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-data-elasticsearch/src/test/java/org/springframework/boot/data/elasticsearch/health/ElasticsearchReactiveHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.data.elasticsearch.actuate.health; +package org.springframework.boot.data.elasticsearch.health; import java.time.Duration; import java.util.Map; @@ -30,8 +30,8 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchClient; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/actuate/health/MongoHealthIndicatorIntegrationTests.java b/spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/health/MongoHealthIndicatorIntegrationTests.java similarity index 93% rename from spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/actuate/health/MongoHealthIndicatorIntegrationTests.java rename to spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/health/MongoHealthIndicatorIntegrationTests.java index e2ea40458f..00ffa0f184 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/actuate/health/MongoHealthIndicatorIntegrationTests.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/health/MongoHealthIndicatorIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.data.mongodb.actuate.health; +package org.springframework.boot.data.mongodb.health; import com.mongodb.ConnectionString; import com.mongodb.MongoClientSettings; @@ -28,8 +28,8 @@ import org.testcontainers.containers.MongoDBContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.boot.testsupport.container.TestImage; import org.springframework.data.mongodb.core.MongoTemplate; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/actuate/health/MongoReactiveHealthIndicatorIntegrationTests.java b/spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/health/MongoReactiveHealthIndicatorIntegrationTests.java similarity index 93% rename from spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/actuate/health/MongoReactiveHealthIndicatorIntegrationTests.java rename to spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/health/MongoReactiveHealthIndicatorIntegrationTests.java index 3a95184f53..5cc80e190b 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/actuate/health/MongoReactiveHealthIndicatorIntegrationTests.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/dockerTest/java/org/springframework/boot/data/mongodb/health/MongoReactiveHealthIndicatorIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.data.mongodb.actuate.health; +package org.springframework.boot.data.mongodb.health; import java.time.Duration; @@ -30,8 +30,8 @@ import org.testcontainers.containers.MongoDBContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.boot.testsupport.container.TestImage; import org.springframework.data.mongodb.core.ReactiveMongoTemplate; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfiguration.java index ae2d769458..30ffc7127a 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfiguration.java @@ -19,14 +19,14 @@ package org.springframework.boot.data.mongodb.autoconfigure.health; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.data.mongodb.actuate.health.MongoHealthIndicator; import org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration; +import org.springframework.boot.data.mongodb.health.MongoHealthIndicator; +import org.springframework.boot.health.HealthContributor; import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.data.mongodb.core.MongoTemplate; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfiguration.java index c2dc4025fe..f310abd84b 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfiguration.java @@ -21,14 +21,14 @@ import reactor.core.publisher.Flux; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.data.mongodb.actuate.health.MongoReactiveHealthIndicator; import org.springframework.boot.data.mongodb.autoconfigure.MongoReactiveDataAutoConfiguration; +import org.springframework.boot.data.mongodb.health.MongoReactiveHealthIndicator; +import org.springframework.boot.health.ReactiveHealthContributor; import org.springframework.context.annotation.Bean; import org.springframework.data.mongodb.core.ReactiveMongoTemplate; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/MongoHealthIndicator.java b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/MongoHealthIndicator.java similarity index 85% rename from spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/MongoHealthIndicator.java rename to spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/MongoHealthIndicator.java index e5270e79dc..5c47182a2c 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/MongoHealthIndicator.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/MongoHealthIndicator.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package org.springframework.boot.data.mongodb.actuate.health; +package org.springframework.boot.data.mongodb.health; import org.bson.Document; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.util.Assert; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/MongoReactiveHealthIndicator.java b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/MongoReactiveHealthIndicator.java similarity index 86% rename from spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/MongoReactiveHealthIndicator.java rename to spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/MongoReactiveHealthIndicator.java index b6b6cfcecd..15b9ab6584 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/MongoReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/MongoReactiveHealthIndicator.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package org.springframework.boot.data.mongodb.actuate.health; +package org.springframework.boot.data.mongodb.health; import org.bson.Document; import reactor.core.publisher.Mono; -import org.springframework.boot.actuate.health.AbstractReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; +import org.springframework.boot.health.AbstractReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.ReactiveHealthIndicator; import org.springframework.data.mongodb.core.ReactiveMongoTemplate; import org.springframework.util.Assert; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/package-info.java b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/package-info.java similarity index 91% rename from spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/package-info.java rename to spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/package-info.java index e8f632d0c1..39ca95afd7 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/main/java/org/springframework/boot/data/mongodb/health/package-info.java @@ -17,4 +17,4 @@ /** * MongoDB health integration using Spring Data MongoDB. */ -package org.springframework.boot.data.mongodb.actuate.health; +package org.springframework.boot.data.mongodb.health; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfigurationTests.java index be6e8096e1..b4e5826916 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoHealthContributorAutoConfigurationTests.java @@ -20,8 +20,8 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.data.mongodb.actuate.health.MongoHealthIndicator; import org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration; +import org.springframework.boot.data.mongodb.health.MongoHealthIndicator; import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfigurationTests.java index 776b2f99bb..158f0a0684 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/autoconfigure/health/MongoReactiveHealthContributorAutoConfigurationTests.java @@ -20,10 +20,10 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.data.mongodb.actuate.health.MongoHealthIndicator; -import org.springframework.boot.data.mongodb.actuate.health.MongoReactiveHealthIndicator; import org.springframework.boot.data.mongodb.autoconfigure.MongoDataAutoConfiguration; import org.springframework.boot.data.mongodb.autoconfigure.MongoReactiveDataAutoConfiguration; +import org.springframework.boot.data.mongodb.health.MongoHealthIndicator; +import org.springframework.boot.data.mongodb.health.MongoReactiveHealthIndicator; import org.springframework.boot.mongodb.autoconfigure.MongoAutoConfiguration; import org.springframework.boot.mongodb.autoconfigure.MongoReactiveAutoConfiguration; import org.springframework.boot.test.context.runner.ApplicationContextRunner; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/actuate/health/MongoHealthIndicatorTests.java b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/health/MongoHealthIndicatorTests.java similarity index 92% rename from spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/actuate/health/MongoHealthIndicatorTests.java rename to spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/health/MongoHealthIndicatorTests.java index 5bd65ec039..672ea8086d 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/actuate/health/MongoHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/health/MongoHealthIndicatorTests.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package org.springframework.boot.data.mongodb.actuate.health; +package org.springframework.boot.data.mongodb.health; import com.mongodb.MongoException; import org.bson.Document; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.data.mongodb.core.MongoTemplate; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/actuate/health/MongoReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/health/MongoReactiveHealthIndicatorTests.java similarity index 94% rename from spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/actuate/health/MongoReactiveHealthIndicatorTests.java rename to spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/health/MongoReactiveHealthIndicatorTests.java index 4bbb45785b..27e1d5bc21 100644 --- a/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/actuate/health/MongoReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-data-mongodb/src/test/java/org/springframework/boot/data/mongodb/health/MongoReactiveHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.data.mongodb.actuate.health; +package org.springframework.boot.data.mongodb.health; import java.time.Duration; @@ -24,8 +24,8 @@ import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.data.mongodb.core.ReactiveMongoTemplate; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfiguration.java index 1ccabeaac0..a009522ad4 100644 --- a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfiguration.java @@ -19,15 +19,15 @@ package org.springframework.boot.data.redis.autoconfigure.health; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.HealthContributor; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.data.redis.actuate.health.RedisHealthIndicator; import org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration; +import org.springframework.boot.data.redis.health.RedisHealthIndicator; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; import org.springframework.context.annotation.Bean; import org.springframework.data.redis.connection.RedisConnectionFactory; diff --git a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfiguration.java index 476c31cef7..e486536d15 100644 --- a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfiguration.java @@ -21,15 +21,15 @@ import reactor.core.publisher.Flux; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.data.redis.actuate.health.RedisReactiveHealthIndicator; import org.springframework.boot.data.redis.autoconfigure.RedisReactiveAutoConfiguration; +import org.springframework.boot.data.redis.health.RedisReactiveHealthIndicator; +import org.springframework.boot.health.ReactiveHealthContributor; +import org.springframework.boot.health.ReactiveHealthIndicator; import org.springframework.context.annotation.Bean; import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; diff --git a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/RedisHealth.java b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/RedisHealth.java similarity index 80% rename from spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/RedisHealth.java rename to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/RedisHealth.java index baac43f809..185c342bcb 100644 --- a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/RedisHealth.java +++ b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/RedisHealth.java @@ -14,12 +14,11 @@ * limitations under the License. */ -package org.springframework.boot.data.redis.actuate.health; +package org.springframework.boot.data.redis.health; import java.util.Properties; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Health.Builder; +import org.springframework.boot.health.Health; import org.springframework.data.redis.connection.ClusterInfo; /** @@ -33,12 +32,12 @@ final class RedisHealth { private RedisHealth() { } - static Builder up(Health.Builder builder, Properties info) { + static Health.Builder up(Health.Builder builder, Properties info) { builder.withDetail("version", info.getProperty("redis_version")); return builder.up(); } - static Builder fromClusterInfo(Health.Builder builder, ClusterInfo clusterInfo) { + static Health.Builder fromClusterInfo(Health.Builder builder, ClusterInfo clusterInfo) { builder.withDetail("cluster_size", clusterInfo.getClusterSize()); builder.withDetail("slots_up", clusterInfo.getSlotsOk()); builder.withDetail("slots_fail", clusterInfo.getSlotsFail()); diff --git a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/RedisHealthIndicator.java b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/RedisHealthIndicator.java similarity index 89% rename from spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/RedisHealthIndicator.java rename to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/RedisHealthIndicator.java index f9f8434b75..4f32d9018f 100644 --- a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/RedisHealthIndicator.java +++ b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/RedisHealthIndicator.java @@ -14,11 +14,11 @@ * limitations under the License. */ -package org.springframework.boot.data.redis.actuate.health; +package org.springframework.boot.data.redis.health; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.data.redis.connection.RedisClusterConnection; import org.springframework.data.redis.connection.RedisConnection; import org.springframework.data.redis.connection.RedisConnectionFactory; diff --git a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/RedisReactiveHealthIndicator.java b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/RedisReactiveHealthIndicator.java similarity index 91% rename from spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/RedisReactiveHealthIndicator.java rename to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/RedisReactiveHealthIndicator.java index d5c428f883..7b1b8b7945 100644 --- a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/RedisReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/RedisReactiveHealthIndicator.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package org.springframework.boot.data.redis.actuate.health; +package org.springframework.boot.data.redis.health; import java.util.Properties; import reactor.core.publisher.Mono; import reactor.core.scheduler.Schedulers; -import org.springframework.boot.actuate.health.AbstractReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; +import org.springframework.boot.health.AbstractReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.ReactiveHealthIndicator; import org.springframework.data.redis.connection.ClusterInfo; import org.springframework.data.redis.connection.ReactiveRedisClusterConnection; import org.springframework.data.redis.connection.ReactiveRedisConnection; diff --git a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/package-info.java b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/package-info.java similarity index 91% rename from spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/package-info.java rename to spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/package-info.java index 8aac687579..1af452e696 100644 --- a/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-data-redis/src/main/java/org/springframework/boot/data/redis/health/package-info.java @@ -17,4 +17,4 @@ /** * Redis health integration using Spring Data Redis. */ -package org.springframework.boot.data.redis.actuate.health; +package org.springframework.boot.data.redis.health; diff --git a/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfigurationTests.java index 16a708f810..b1b5879cd6 100644 --- a/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/autoconfigure/health/RedisHealthContributorAutoConfigurationTests.java @@ -20,9 +20,9 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.data.redis.actuate.health.RedisHealthIndicator; -import org.springframework.boot.data.redis.actuate.health.RedisReactiveHealthIndicator; import org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration; +import org.springframework.boot.data.redis.health.RedisHealthIndicator; +import org.springframework.boot.data.redis.health.RedisReactiveHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.boot.testsupport.classpath.ClassPathExclusions; diff --git a/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfigurationTests.java index 52f678d1a9..d478de9c49 100644 --- a/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/autoconfigure/health/RedisReactiveHealthContributorAutoConfigurationTests.java @@ -20,9 +20,9 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.data.redis.actuate.health.RedisHealthIndicator; -import org.springframework.boot.data.redis.actuate.health.RedisReactiveHealthIndicator; import org.springframework.boot.data.redis.autoconfigure.RedisAutoConfiguration; +import org.springframework.boot.data.redis.health.RedisHealthIndicator; +import org.springframework.boot.data.redis.health.RedisReactiveHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/actuate/health/RedisHealthIndicatorTests.java b/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/health/RedisHealthIndicatorTests.java similarity index 97% rename from spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/actuate/health/RedisHealthIndicatorTests.java rename to spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/health/RedisHealthIndicatorTests.java index b8ba1a5acb..3f4abeb367 100644 --- a/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/actuate/health/RedisHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/health/RedisHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.data.redis.actuate.health; +package org.springframework.boot.data.redis.health; import java.util.Arrays; import java.util.List; @@ -22,8 +22,8 @@ import java.util.Properties; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.data.redis.RedisConnectionFailureException; import org.springframework.data.redis.connection.ClusterInfo; import org.springframework.data.redis.connection.RedisClusterConnection; diff --git a/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/actuate/health/RedisReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/health/RedisReactiveHealthIndicatorTests.java similarity index 97% rename from spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/actuate/health/RedisReactiveHealthIndicatorTests.java rename to spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/health/RedisReactiveHealthIndicatorTests.java index 5ce89c784f..7ed683f1a9 100644 --- a/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/actuate/health/RedisReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-data-redis/src/test/java/org/springframework/boot/data/redis/health/RedisReactiveHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.data.redis.actuate.health; +package org.springframework.boot.data.redis.health; import java.time.Duration; import java.util.Properties; @@ -24,8 +24,8 @@ import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.data.redis.RedisConnectionFailureException; import org.springframework.data.redis.connection.ClusterInfo; import org.springframework.data.redis.connection.ReactiveRedisClusterConnection; diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/endpoints/health/reactivehealthindicators/MyReactiveHealthIndicator.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/endpoints/health/reactivehealthindicators/MyReactiveHealthIndicator.java index e915e079d4..0c4f180643 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/endpoints/health/reactivehealthindicators/MyReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/endpoints/health/reactivehealthindicators/MyReactiveHealthIndicator.java @@ -18,8 +18,8 @@ package org.springframework.boot.docs.actuator.endpoints.health.reactivehealthin import reactor.core.publisher.Mono; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.ReactiveHealthIndicator; import org.springframework.stereotype.Component; @Component diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/endpoints/health/writingcustomhealthindicators/MyHealthIndicator.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/endpoints/health/writingcustomhealthindicators/MyHealthIndicator.java index 492a3013c6..ebd7dd55af 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/endpoints/health/writingcustomhealthindicators/MyHealthIndicator.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/actuator/endpoints/health/writingcustomhealthindicators/MyHealthIndicator.java @@ -16,8 +16,8 @@ package org.springframework.boot.docs.actuator.endpoints.health.writingcustomhealthindicators; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.stereotype.Component; @Component diff --git a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.java b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.java index 9af5092ee0..7a00c57003 100644 --- a/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.java +++ b/spring-boot-project/spring-boot-docs/src/main/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.java @@ -20,7 +20,7 @@ import io.micrometer.core.instrument.Gauge; import io.micrometer.core.instrument.MeterRegistry; import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Status; import org.springframework.context.annotation.Configuration; @Configuration(proxyBeanMethods = false) diff --git a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/actuator/endpoints/health/reactivehealthindicators/MyReactiveHealthIndicator.kt b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/actuator/endpoints/health/reactivehealthindicators/MyReactiveHealthIndicator.kt index cf8f383ac9..ccb86a8262 100644 --- a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/actuator/endpoints/health/reactivehealthindicators/MyReactiveHealthIndicator.kt +++ b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/actuator/endpoints/health/reactivehealthindicators/MyReactiveHealthIndicator.kt @@ -16,8 +16,8 @@ package org.springframework.boot.docs.actuator.endpoints.health.reactivehealthindicators -import org.springframework.boot.actuate.health.Health -import org.springframework.boot.actuate.health.ReactiveHealthIndicator +import org.springframework.boot.health.Health +import org.springframework.boot.health.ReactiveHealthIndicator import org.springframework.stereotype.Component import reactor.core.publisher.Mono diff --git a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/actuator/endpoints/health/writingcustomhealthindicators/MyHealthIndicator.kt b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/actuator/endpoints/health/writingcustomhealthindicators/MyHealthIndicator.kt index caa83712bf..426c8a4f53 100644 --- a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/actuator/endpoints/health/writingcustomhealthindicators/MyHealthIndicator.kt +++ b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/actuator/endpoints/health/writingcustomhealthindicators/MyHealthIndicator.kt @@ -16,8 +16,8 @@ package org.springframework.boot.docs.actuator.endpoints.health.writingcustomhealthindicators -import org.springframework.boot.actuate.health.Health -import org.springframework.boot.actuate.health.HealthIndicator +import org.springframework.boot.health.Health +import org.springframework.boot.health.HealthIndicator import org.springframework.stereotype.Component @Component diff --git a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.kt b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.kt index 529ec46e97..f6a9b99ead 100644 --- a/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.kt +++ b/spring-boot-project/spring-boot-docs/src/main/kotlin/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MyHealthMetricsExportConfiguration.kt @@ -19,7 +19,7 @@ package org.springframework.boot.docs.howto.actuator.maphealthindicatorstometric import io.micrometer.core.instrument.Gauge import io.micrometer.core.instrument.MeterRegistry import org.springframework.boot.actuate.health.HealthEndpoint -import org.springframework.boot.actuate.health.Status +import org.springframework.boot.health.Status import org.springframework.context.annotation.Configuration @Configuration(proxyBeanMethods = false) diff --git a/spring-boot-project/spring-boot-docs/src/test/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MetricsHealthMicrometerExportTests.java b/spring-boot-project/spring-boot-docs/src/test/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MetricsHealthMicrometerExportTests.java index 582c79f4f1..f24ab860de 100644 --- a/spring-boot-project/spring-boot-docs/src/test/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MetricsHealthMicrometerExportTests.java +++ b/spring-boot-project/spring-boot-docs/src/test/java/org/springframework/boot/docs/howto/actuator/maphealthindicatorstometrics/MetricsHealthMicrometerExportTests.java @@ -24,9 +24,9 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Bean; @@ -70,7 +70,7 @@ class MetricsHealthMicrometerExportTests { @Bean HealthIndicator outOfService() { - return () -> new Health.Builder().outOfService().build(); + return () -> Health.outOfService().build(); } } diff --git a/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfiguration.java index 016af69a19..ebe0d59820 100644 --- a/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfiguration.java @@ -21,14 +21,14 @@ import org.elasticsearch.client.RestClient; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.elasticsearch.actuate.health.ElasticsearchRestClientHealthIndicator; import org.springframework.boot.elasticsearch.autoconfigure.ElasticsearchRestClientAutoConfiguration; +import org.springframework.boot.elasticsearch.health.ElasticsearchRestClientHealthIndicator; +import org.springframework.boot.health.HealthContributor; import org.springframework.context.annotation.Bean; /** diff --git a/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/actuate/health/ElasticsearchRestClientHealthIndicator.java b/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/health/ElasticsearchRestClientHealthIndicator.java similarity index 87% rename from spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/actuate/health/ElasticsearchRestClientHealthIndicator.java rename to spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/health/ElasticsearchRestClientHealthIndicator.java index 4cb18c7e0d..41a379ee57 100644 --- a/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/actuate/health/ElasticsearchRestClientHealthIndicator.java +++ b/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/health/ElasticsearchRestClientHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.elasticsearch.actuate.health; +package org.springframework.boot.elasticsearch.health; import java.io.InputStream; import java.nio.charset.StandardCharsets; @@ -26,9 +26,10 @@ import org.elasticsearch.client.Request; import org.elasticsearch.client.Response; import org.elasticsearch.client.RestClient; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.boot.json.JsonParser; import org.springframework.boot.json.JsonParserFactory; import org.springframework.util.StreamUtils; @@ -73,12 +74,7 @@ public class ElasticsearchRestClientHealthIndicator extends AbstractHealthIndica private void doHealthCheck(Health.Builder builder, String json) { Map response = this.jsonParser.parseMap(json); String status = (String) response.get("status"); - if (RED_STATUS.equals(status)) { - builder.outOfService(); - } - else { - builder.up(); - } + builder.status((RED_STATUS.equals(status)) ? Status.OUT_OF_SERVICE : Status.UP); builder.withDetails(response); } diff --git a/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/actuate/health/package-info.java b/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/health/package-info.java similarity index 91% rename from spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/actuate/health/package-info.java rename to spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/health/package-info.java index 0645b6098c..0826666234 100644 --- a/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-elasticsearch/src/main/java/org/springframework/boot/elasticsearch/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for Elasticsearch. */ -package org.springframework.boot.elasticsearch.actuate.health; +package org.springframework.boot.elasticsearch.health; diff --git a/spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfigurationTests.java index ade4e50943..211c621a7f 100644 --- a/spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/autoconfigure/health/ElasticsearchRestHealthContributorAutoConfigurationTests.java @@ -22,8 +22,8 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.elasticsearch.actuate.health.ElasticsearchRestClientHealthIndicator; import org.springframework.boot.elasticsearch.autoconfigure.ElasticsearchRestClientAutoConfiguration; +import org.springframework.boot.elasticsearch.health.ElasticsearchRestClientHealthIndicator; import org.springframework.boot.test.context.FilteredClassLoader; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.annotation.Bean; diff --git a/spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/actuate/health/ElasticsearchRestClientHealthIndicatorTests.java b/spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/health/ElasticsearchRestClientHealthIndicatorTests.java similarity index 96% rename from spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/actuate/health/ElasticsearchRestClientHealthIndicatorTests.java rename to spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/health/ElasticsearchRestClientHealthIndicatorTests.java index 8a32d6cea0..5ffaa8b206 100644 --- a/spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/actuate/health/ElasticsearchRestClientHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-elasticsearch/src/test/java/org/springframework/boot/elasticsearch/health/ElasticsearchRestClientHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.elasticsearch.actuate.health; +package org.springframework.boot.elasticsearch.health; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -27,8 +27,8 @@ import org.elasticsearch.client.Response; import org.elasticsearch.client.RestClient; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.entry; @@ -59,7 +59,7 @@ class ElasticsearchRestClientHealthIndicatorTests { given(response.getStatusLine()).willReturn(statusLine); given(response.getEntity()).willReturn(httpEntity); given(this.restClient.performRequest(any(Request.class))).willReturn(response); - Health health = this.elasticsearchRestClientHealthIndicator.health(); + org.springframework.boot.health.Health health = this.elasticsearchRestClientHealthIndicator.health(); assertThat(health.getStatus()).isEqualTo(Status.UP); assertHealthDetailsWithStatus(health.getDetails(), "green"); } diff --git a/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfiguration.java index e547d87741..e9f6f6a8aa 100644 --- a/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfiguration.java @@ -21,14 +21,14 @@ import com.hazelcast.core.HazelcastInstance; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.hazelcast.actuate.health.HazelcastHealthIndicator; import org.springframework.boot.hazelcast.autoconfigure.HazelcastAutoConfiguration; +import org.springframework.boot.hazelcast.health.HazelcastHealthIndicator; +import org.springframework.boot.health.HealthContributor; import org.springframework.context.annotation.Bean; /** diff --git a/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/actuate/health/HazelcastHealthIndicator.java b/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/health/HazelcastHealthIndicator.java similarity index 85% rename from spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/actuate/health/HazelcastHealthIndicator.java rename to spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/health/HazelcastHealthIndicator.java index d5d50fe973..f08cc7b0f3 100644 --- a/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/actuate/health/HazelcastHealthIndicator.java +++ b/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/health/HazelcastHealthIndicator.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package org.springframework.boot.hazelcast.actuate.health; +package org.springframework.boot.hazelcast.health; import com.hazelcast.core.HazelcastInstance; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.util.Assert; /** diff --git a/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/actuate/health/package-info.java b/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/health/package-info.java similarity index 91% rename from spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/actuate/health/package-info.java rename to spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/health/package-info.java index 1a2f619343..0330a931da 100644 --- a/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-hazelcast/src/main/java/org/springframework/boot/hazelcast/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for Hazelcast. */ -package org.springframework.boot.hazelcast.actuate.health; +package org.springframework.boot.hazelcast.health; diff --git a/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfigurationIntegrationTests.java index 7cecc3ba0e..6d457625f6 100644 --- a/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfigurationIntegrationTests.java @@ -20,11 +20,11 @@ import com.hazelcast.core.HazelcastInstance; import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.hazelcast.actuate.health.HazelcastHealthIndicator; import org.springframework.boot.hazelcast.autoconfigure.HazelcastAutoConfiguration; +import org.springframework.boot.hazelcast.health.HazelcastHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.boot.testsupport.classpath.resources.WithResource; diff --git a/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfigurationTests.java index 19e8fa89cb..f17258e3b7 100644 --- a/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/autoconfigure/health/HazelcastHealthContributorAutoConfigurationTests.java @@ -20,8 +20,8 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.hazelcast.actuate.health.HazelcastHealthIndicator; import org.springframework.boot.hazelcast.autoconfigure.HazelcastAutoConfiguration; +import org.springframework.boot.hazelcast.health.HazelcastHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.boot.testsupport.classpath.resources.WithResource; diff --git a/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/actuate/health/HazelcastHealthIndicatorTests.java b/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/health/HazelcastHealthIndicatorTests.java similarity index 94% rename from spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/actuate/health/HazelcastHealthIndicatorTests.java rename to spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/health/HazelcastHealthIndicatorTests.java index fbf409b170..92eec42eea 100644 --- a/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/actuate/health/HazelcastHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-hazelcast/src/test/java/org/springframework/boot/hazelcast/health/HazelcastHealthIndicatorTests.java @@ -14,16 +14,16 @@ * limitations under the License. */ -package org.springframework.boot.hazelcast.actuate.health; +package org.springframework.boot.hazelcast.health; import com.hazelcast.core.HazelcastException; import com.hazelcast.core.HazelcastInstance; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.hazelcast.autoconfigure.HazelcastAutoConfiguration; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.boot.testsupport.classpath.resources.WithResource; diff --git a/spring-boot-project/spring-boot-health/build.gradle b/spring-boot-project/spring-boot-health/build.gradle new file mode 100644 index 0000000000..90cdcf3426 --- /dev/null +++ b/spring-boot-project/spring-boot-health/build.gradle @@ -0,0 +1,21 @@ +plugins { + id "java-library" + id "org.springframework.boot.deployed" + id "org.springframework.boot.optional-dependencies" +} + +description = "Spring Boot Health" + +dependencies { + api(project(":spring-boot-project:spring-boot")) + + optional("io.projectreactor:reactor-core") + optional("com.fasterxml.jackson.core:jackson-annotations") + + testImplementation(project(":spring-boot-project:spring-boot-test")) + testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) + testImplementation("com.fasterxml.jackson.core:jackson-databind") + testImplementation("io.projectreactor:reactor-test") + + testRuntimeOnly("ch.qos.logback:logback-classic") +} diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AbstractHealthIndicator.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/AbstractHealthIndicator.java similarity index 89% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AbstractHealthIndicator.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/AbstractHealthIndicator.java index a89f26f8b2..a8e26a39dc 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AbstractHealthIndicator.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/AbstractHealthIndicator.java @@ -14,14 +14,13 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.function.Function; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.boot.actuate.health.Health.Builder; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -30,11 +29,11 @@ import org.springframework.util.StringUtils; * {@link Health} instance and error handling. *

* This implementation is only suitable if an {@link Exception} raised from - * {@link #doHealthCheck(org.springframework.boot.actuate.health.Health.Builder)} should - * create a {@link Status#DOWN} health status. + * {@link #doHealthCheck(Health.Builder)} should create a {@link Status#DOWN} health + * status. * * @author Christian Dupuis - * @since 1.1.0 + * @since 4.0.0 */ public abstract class AbstractHealthIndicator implements HealthIndicator { @@ -58,7 +57,6 @@ public abstract class AbstractHealthIndicator implements HealthIndicator { * Create a new {@link AbstractHealthIndicator} instance with a specific message to * log when the health check fails. * @param healthCheckFailedMessage the message to log on health check failure - * @since 2.0.0 */ protected AbstractHealthIndicator(String healthCheckFailedMessage) { this.healthCheckFailedMessage = (ex) -> healthCheckFailedMessage; @@ -68,7 +66,6 @@ public abstract class AbstractHealthIndicator implements HealthIndicator { * Create a new {@link AbstractHealthIndicator} instance with a specific message to * log when the health check fails. * @param healthCheckFailedMessage the message to log on health check failure - * @since 2.0.0 */ protected AbstractHealthIndicator(Function healthCheckFailedMessage) { Assert.notNull(healthCheckFailedMessage, "'healthCheckFailedMessage' must not be null"); @@ -97,7 +94,7 @@ public abstract class AbstractHealthIndicator implements HealthIndicator { /** * Actual health check logic. - * @param builder the {@link Builder} to report health status and details + * @param builder the {@link Health.Builder} to report health status and details * @throws Exception any {@link Exception} that should create a {@link Status#DOWN} * system status. */ diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AbstractReactiveHealthIndicator.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/AbstractReactiveHealthIndicator.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AbstractReactiveHealthIndicator.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/AbstractReactiveHealthIndicator.java index 81ffd0a323..d281c5de34 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AbstractReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/AbstractReactiveHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.function.Function; @@ -32,7 +32,7 @@ import org.springframework.util.StringUtils; * @author Stephane Nicoll * @author Nikolay Rybak * @author Moritz Halbritter - * @since 2.0.0 + * @since 4.0.0 */ public abstract class AbstractReactiveHealthIndicator implements ReactiveHealthIndicator { @@ -67,7 +67,6 @@ public abstract class AbstractReactiveHealthIndicator implements ReactiveHealthI * Create a new {@link AbstractReactiveHealthIndicator} instance with a specific * message to log when the health check fails. * @param healthCheckFailedMessage the message to log on health check failure - * @since 2.1.7 */ protected AbstractReactiveHealthIndicator(Function healthCheckFailedMessage) { Assert.notNull(healthCheckFailedMessage, "'healthCheckFailedMessage' must not be null"); diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealth.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealth.java similarity index 64% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealth.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealth.java index 94e808aae5..72ab88139e 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealth.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealth.java @@ -14,16 +14,14 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Map; import java.util.TreeMap; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonProperty; -import org.springframework.boot.actuate.endpoint.ApiVersion; import org.springframework.util.Assert; /** @@ -33,25 +31,18 @@ import org.springframework.util.Assert; * connection. * * @author Phillip Webb - * @since 2.2.0 + * @since 4.0.0 */ -public class CompositeHealth extends HealthComponent { +public non-sealed class CompositeHealth extends HealthComponent { private final Status status; private final Map components; - private final Map details; - - CompositeHealth(ApiVersion apiVersion, Status status, Map components) { + public CompositeHealth(Status status, Map components) { Assert.notNull(status, "'status' must not be null"); this.status = status; - this.components = (apiVersion != ApiVersion.V3) ? null : sort(components); - this.details = (apiVersion != ApiVersion.V2) ? null : sort(components); - } - - private Map sort(Map components) { - return (components != null) ? new TreeMap<>(components) : components; + this.components = (components != null) ? new TreeMap<>(components) : components; } @Override @@ -64,10 +55,4 @@ public class CompositeHealth extends HealthComponent { return this.components; } - @JsonInclude(Include.NON_EMPTY) - @JsonProperty - public Map getDetails() { - return this.details; - } - } diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthContributor.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealthContributor.java similarity index 90% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthContributor.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealthContributor.java index d7388204cb..c84011c508 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthContributor.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealthContributor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Map; import java.util.function.Function; @@ -24,11 +24,11 @@ import java.util.function.Function; * instances. * * @author Phillip Webb - * @since 2.2.0 + * @since 4.0.0 * @see CompositeHealth * @see CompositeReactiveHealthContributor */ -public interface CompositeHealthContributor extends HealthContributor, NamedContributors { +public non-sealed interface CompositeHealthContributor extends HealthContributor, NamedContributors { /** * Factory method that will create a {@link CompositeHealthContributor} from the diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthContributorMapAdapter.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealthContributorMapAdapter.java similarity index 95% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthContributorMapAdapter.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealthContributorMapAdapter.java index f528637615..ad1bb24f0d 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthContributorMapAdapter.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealthContributorMapAdapter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Map; import java.util.function.Function; diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthContributorReactiveAdapter.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealthContributorReactiveAdapter.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthContributorReactiveAdapter.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealthContributorReactiveAdapter.java index 4cb6560332..e1a10c43ae 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeHealthContributorReactiveAdapter.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeHealthContributorReactiveAdapter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Iterator; diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeReactiveHealthContributor.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeReactiveHealthContributor.java similarity index 93% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeReactiveHealthContributor.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeReactiveHealthContributor.java index 62bb07db8e..42405cc024 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeReactiveHealthContributor.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeReactiveHealthContributor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Map; import java.util.function.Function; @@ -24,11 +24,11 @@ import java.util.function.Function; * {@link ReactiveHealthContributor} instances. * * @author Phillip Webb - * @since 2.2.0 + * @since 4.0.0 * @see CompositeHealth * @see CompositeHealthContributor */ -public interface CompositeReactiveHealthContributor +public non-sealed interface CompositeReactiveHealthContributor extends ReactiveHealthContributor, NamedContributors { /** diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeReactiveHealthContributorMapAdapter.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeReactiveHealthContributorMapAdapter.java similarity index 96% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeReactiveHealthContributorMapAdapter.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeReactiveHealthContributorMapAdapter.java index 5dcdde5642..2288cf6cc7 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/CompositeReactiveHealthContributorMapAdapter.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/CompositeReactiveHealthContributorMapAdapter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Map; import java.util.function.Function; diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Health.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/Health.java similarity index 96% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Health.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/Health.java index ec50576cbc..4357b096a5 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Health.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/Health.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Collections; import java.util.LinkedHashMap; @@ -46,7 +46,7 @@ import org.springframework.util.Assert; * @author Christian Dupuis * @author Phillip Webb * @author Michael Pratt - * @since 1.1.0 + * @since 4.0.0 */ @JsonInclude(Include.NON_EMPTY) public final class Health extends HealthComponent { @@ -88,17 +88,8 @@ public final class Health extends HealthComponent { return this.details; } - /** - * Return a new instance of this {@link Health} with all {@link #getDetails() details} - * removed. - * @return a new instance without details - * @since 2.2.0 - */ Health withoutDetails() { - if (this.details.isEmpty()) { - return this; - } - return status(getStatus()).build(); + return (this.details.isEmpty()) ? this : status(getStatus()).build(); } @Override @@ -254,7 +245,6 @@ public final class Health extends HealthComponent { * replace any existing keys if there are duplicates. * @param details map of details * @return this {@link Builder} instance - * @since 2.1.0 */ public Builder withDetails(Map details) { Assert.notNull(details, "'details' must not be null"); diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthComponent.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthComponent.java similarity index 72% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthComponent.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthComponent.java index aa80a8fb1d..0349e56fc3 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthComponent.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthComponent.java @@ -14,21 +14,20 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import com.fasterxml.jackson.annotation.JsonUnwrapped; -import org.springframework.boot.actuate.endpoint.OperationResponseBody; - /** - * A component that contributes data to results returned from the {@link HealthEndpoint}. + * A component that contributes a health {@link Status} as well as any additional + * contextual details. Subclasses should expect to be serialized and presented to the + * user, typically as JSON. * * @author Phillip Webb - * @since 2.2.0 + * @since 4.0.0 * @see Health - * @see CompositeHealth */ -public abstract class HealthComponent implements OperationResponseBody { +public abstract sealed class HealthComponent permits Health, CompositeHealth { HealthComponent() { } diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthContributor.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthContributor.java similarity index 74% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthContributor.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthContributor.java index 9795a1ca48..97a3ed61fd 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthContributor.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthContributor.java @@ -14,18 +14,18 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; /** * Tagging interface for classes that contribute to {@link HealthComponent health - * components} to the results returned from the {@link HealthEndpoint}. A contributor must - * be either a {@link HealthIndicator} or a {@link CompositeHealthContributor}. + * components}. A contributor must be either a {@link HealthIndicator} or a + * {@link CompositeHealthContributor}. * * @author Phillip Webb - * @since 2.2.0 + * @since 4.0.0 * @see HealthIndicator * @see CompositeHealthContributor */ -public interface HealthContributor { +public sealed interface HealthContributor permits HealthIndicator, CompositeHealthContributor { } diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthIndicator.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthIndicator.java similarity index 80% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthIndicator.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthIndicator.java index 4b229dd2fd..25ebfd5582 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthIndicator.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthIndicator.java @@ -14,24 +14,22 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; /** - * Strategy interface used to contribute {@link Health} to the results returned from the - * {@link HealthEndpoint}. + * Contributes {@link Health} information for specific component or subsystem. * * @author Dave Syer * @author Phillip Webb - * @since 1.0.0 + * @since 4.0.0 */ @FunctionalInterface -public interface HealthIndicator extends HealthContributor { +public non-sealed interface HealthIndicator extends HealthContributor { /** * Return an indication of health. * @param includeDetails if details should be included or removed * @return the health - * @since 2.2.0 */ default Health getHealth(boolean includeDetails) { Health health = health(); diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthIndicatorReactiveAdapter.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthIndicatorReactiveAdapter.java similarity index 96% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthIndicatorReactiveAdapter.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthIndicatorReactiveAdapter.java index ae231c55be..a8259460e6 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthIndicatorReactiveAdapter.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/HealthIndicatorReactiveAdapter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import reactor.core.publisher.Mono; import reactor.core.scheduler.Schedulers; diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/NamedContributor.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/NamedContributor.java similarity index 95% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/NamedContributor.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/NamedContributor.java index 9bf96859d3..698b7e28c9 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/NamedContributor.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/NamedContributor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import org.springframework.util.Assert; @@ -24,7 +24,7 @@ import org.springframework.util.Assert; * * @param the contributor type * @author Phillip Webb - * @since 2.0.0 + * @since 4.0.0 * @see NamedContributors */ public interface NamedContributor { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/NamedContributors.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/NamedContributors.java similarity index 95% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/NamedContributors.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/NamedContributors.java index 5d4b9e1cdc..ecade9de35 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/NamedContributors.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/NamedContributors.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.stream.Stream; import java.util.stream.StreamSupport; @@ -25,7 +25,7 @@ import java.util.stream.StreamSupport; * * @param the contributor type * @author Phillip Webb - * @since 2.0.0 + * @since 4.0.0 * @see NamedContributor */ public interface NamedContributors extends Iterable> { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/NamedContributorsMapAdapter.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/NamedContributorsMapAdapter.java similarity index 94% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/NamedContributorsMapAdapter.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/NamedContributorsMapAdapter.java index 833d13a288..a8053c3faa 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/NamedContributorsMapAdapter.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/NamedContributorsMapAdapter.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Collections; import java.util.Iterator; @@ -32,8 +32,6 @@ import org.springframework.util.Assert; * @param the contributor type * @author Phillip Webb * @author Guirong Hu - * @see CompositeHealthContributorMapAdapter - * @see CompositeReactiveHealthContributorMapAdapter */ abstract class NamedContributorsMapAdapter implements NamedContributors { diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthContributor.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/ReactiveHealthContributor.java similarity index 70% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthContributor.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/ReactiveHealthContributor.java index 2806e1ab54..4c08d5cf22 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthContributor.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/ReactiveHealthContributor.java @@ -14,32 +14,28 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import org.springframework.util.Assert; /** * Tagging interface for classes that contribute to {@link HealthComponent health - * components} to the results returned from the {@link HealthEndpoint}. A contributor must - * be either a {@link ReactiveHealthIndicator} or a + * components}. A contributor must be either a {@link ReactiveHealthIndicator} or a * {@link CompositeReactiveHealthContributor}. * * @author Phillip Webb - * @since 2.2.0 + * @since 4.0.0 * @see ReactiveHealthIndicator * @see CompositeReactiveHealthContributor */ -public interface ReactiveHealthContributor { +public sealed interface ReactiveHealthContributor permits ReactiveHealthIndicator, CompositeReactiveHealthContributor { static ReactiveHealthContributor adapt(HealthContributor healthContributor) { Assert.notNull(healthContributor, "'healthContributor' must not be null"); if (healthContributor instanceof HealthIndicator healthIndicator) { return new HealthIndicatorReactiveAdapter(healthIndicator); } - if (healthContributor instanceof CompositeHealthContributor compositeHealthContributor) { - return new CompositeHealthContributorReactiveAdapter(compositeHealthContributor); - } - throw new IllegalStateException("Unknown HealthContributor type"); + return new CompositeHealthContributorReactiveAdapter((CompositeHealthContributor) healthContributor); } } diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthIndicator.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/ReactiveHealthIndicator.java similarity index 82% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthIndicator.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/ReactiveHealthIndicator.java index e04c6083a7..e68deef4b6 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/ReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/ReactiveHealthIndicator.java @@ -14,29 +14,27 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import reactor.core.publisher.Mono; /** - * Strategy interface used to contribute {@link Health} to the results returned from the - * reactive variant of the {@link HealthEndpoint}. + * Contributes {@link Health} information for specific reactive component or subsystem. *

* This is non-blocking contract that is meant to be used in a reactive application. See * {@link HealthIndicator} for the traditional contract. * * @author Stephane Nicoll - * @since 2.0.0 + * @since 4.0.0 * @see HealthIndicator */ @FunctionalInterface -public interface ReactiveHealthIndicator extends ReactiveHealthContributor { +public non-sealed interface ReactiveHealthIndicator extends ReactiveHealthContributor { /** * Provide the indicator of health. * @param includeDetails if details should be included or removed * @return a {@link Mono} that provides the {@link Health} - * @since 2.2.0 */ default Mono getHealth(boolean includeDetails) { Mono health = health(); diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Status.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/Status.java similarity index 98% rename from spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Status.java rename to spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/Status.java index 81ec7f655d..f67726db0e 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Status.java +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/Status.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; @@ -32,7 +32,7 @@ import org.springframework.util.ObjectUtils; * Custom states can also be created and used throughout the Spring Boot Health subsystem. * * @author Christian Dupuis - * @since 1.1.0 + * @since 4.0.0 */ @JsonInclude(Include.NON_EMPTY) public final class Status { diff --git a/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/package-info.java b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/package-info.java new file mode 100644 index 0000000000..1a572d59dd --- /dev/null +++ b/spring-boot-project/spring-boot-health/src/main/java/org/springframework/boot/health/package-info.java @@ -0,0 +1,20 @@ +/* + * Copyright 2012-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Classes related to monitoring the health of an application. + */ +package org.springframework.boot.health; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/AbstractHealthIndicatorTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/AbstractHealthIndicatorTests.java similarity index 91% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/AbstractHealthIndicatorTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/AbstractHealthIndicatorTests.java index 2e2d77c4d7..455724af06 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/AbstractHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/AbstractHealthIndicatorTests.java @@ -14,14 +14,13 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.function.Consumer; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.springframework.boot.actuate.health.Health.Builder; import org.springframework.boot.test.system.CapturedOutput; import org.springframework.boot.test.system.OutputCaptureExtension; @@ -38,7 +37,7 @@ class AbstractHealthIndicatorTests { @Test void healthCheckWhenUpDoesNotLogHealthCheckFailedMessage(CapturedOutput output) { - TestHealthIndicator indicator = new TestHealthIndicator("Test message", Builder::up); + TestHealthIndicator indicator = new TestHealthIndicator("Test message", Health.Builder::up); Health heath = indicator.health(); assertThat(heath.getStatus()).isEqualTo(Status.UP); assertThat(output).doesNotContain("Test message"); @@ -95,19 +94,19 @@ class AbstractHealthIndicatorTests { static class TestHealthIndicator extends AbstractHealthIndicator { - private final Consumer action; + private final Consumer action; - TestHealthIndicator(String message, Consumer action) { + TestHealthIndicator(String message, Consumer action) { super(message); this.action = action; } - TestHealthIndicator(Consumer action) { + TestHealthIndicator(Consumer action) { this.action = action; } @Override - protected void doHealthCheck(Builder builder) throws Exception { + protected void doHealthCheck(Health.Builder builder) throws Exception { this.action.accept(builder); } diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/AbstractReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/AbstractReactiveHealthIndicatorTests.java similarity index 88% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/AbstractReactiveHealthIndicatorTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/AbstractReactiveHealthIndicatorTests.java index 65fdf5379f..44909ebbac 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/AbstractReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/AbstractReactiveHealthIndicatorTests.java @@ -14,13 +14,12 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import reactor.core.publisher.Mono; -import org.springframework.boot.actuate.health.Health.Builder; import org.springframework.boot.test.system.CapturedOutput; import org.springframework.boot.test.system.OutputCaptureExtension; @@ -30,6 +29,8 @@ import static org.assertj.core.api.Assertions.assertThat; * Tests for {@link AbstractReactiveHealthIndicator}. * * @author Moritz Halbritter + * @author Dmytro Nosan + * @author Stephane Nicoll */ @ExtendWith(OutputCaptureExtension.class) class AbstractReactiveHealthIndicatorTests { @@ -37,8 +38,9 @@ class AbstractReactiveHealthIndicatorTests { @Test void healthCheckWhenUpDoesNotLogHealthCheckFailedMessage(CapturedOutput output) { Health health = new AbstractReactiveHealthIndicator("Test message") { + @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { return Mono.just(builder.up().build()); } @@ -51,10 +53,12 @@ class AbstractReactiveHealthIndicatorTests { @Test void healthCheckWhenDownWithExceptionThrownLogsHealthCheckFailedMessage(CapturedOutput output) { Health health = new AbstractReactiveHealthIndicator("Test message") { + @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { throw new IllegalStateException("Test exception"); } + }.health().block(); assertThat(health).isNotNull(); assertThat(health.getStatus()).isEqualTo(Status.DOWN); @@ -64,10 +68,12 @@ class AbstractReactiveHealthIndicatorTests { @Test void healthCheckWhenDownWithExceptionConfiguredLogsHealthCheckFailedMessage(CapturedOutput output) { Health health = new AbstractReactiveHealthIndicator("Test message") { + @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { return Mono.just(builder.down().withException(new IllegalStateException("Test exception")).build()); } + }.health().block(); assertThat(health).isNotNull(); assertThat(health.getStatus()).isEqualTo(Status.DOWN); @@ -77,12 +83,14 @@ class AbstractReactiveHealthIndicatorTests { @Test void healthCheckWhenDownWithExceptionConfiguredDoesNotLogHealthCheckFailedMessageTwice(CapturedOutput output) { Health health = new AbstractReactiveHealthIndicator("Test message") { + @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { IllegalStateException ex = new IllegalStateException("Test exception"); builder.down().withException(ex); throw ex; } + }.health().block(); assertThat(health).isNotNull(); assertThat(health.getStatus()).isEqualTo(Status.DOWN); @@ -92,10 +100,12 @@ class AbstractReactiveHealthIndicatorTests { @Test void healthCheckWhenDownWithExceptionAndNoFailureMessageLogsDefaultMessage(CapturedOutput output) { Health health = new AbstractReactiveHealthIndicator() { + @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { return Mono.just(builder.down().withException(new IllegalStateException("Test exception")).build()); } + }.health().block(); assertThat(health).isNotNull(); assertThat(health.getStatus()).isEqualTo(Status.DOWN); @@ -105,10 +115,12 @@ class AbstractReactiveHealthIndicatorTests { @Test void healthCheckWhenDownWithErrorLogsDefaultMessage(CapturedOutput output) { Health health = new AbstractReactiveHealthIndicator("Test Message") { + @Override - protected Mono doHealthCheck(Builder builder) { + protected Mono doHealthCheck(Health.Builder builder) { return Mono.just(builder.down().withException(new Error("Test error")).build()); } + }.health().block(); assertThat(health).isNotNull(); assertThat(health.getStatus()).isEqualTo(Status.DOWN); diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthContributorReactiveAdapterTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthContributorReactiveAdapterTests.java similarity index 98% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthContributorReactiveAdapterTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthContributorReactiveAdapterTests.java index 7b37f84eec..8d9a1a4ac6 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthContributorReactiveAdapterTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthContributorReactiveAdapterTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Collections; import java.util.Iterator; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthContributorTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthContributorTests.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthContributorTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthContributorTests.java index 59767ecff0..5f20c975c2 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthContributorTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthContributorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.LinkedHashMap; import java.util.Map; diff --git a/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthTests.java new file mode 100644 index 0000000000..d6bb8e9c2f --- /dev/null +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeHealthTests.java @@ -0,0 +1,68 @@ +/* + * Copyright 2012-2025 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.boot.health; + +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.Map; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; + +/** + * Test for {@link CompositeHealth}. + * + * @author Phillip Webb + */ +class CompositeHealthTests { + + @Test + void createWhenStatusIsNullThrowsException() { + assertThatIllegalArgumentException().isThrownBy(() -> new CompositeHealth(null, Collections.emptyMap())) + .withMessage("'status' must not be null"); + } + + @Test + void getStatusReturnsStatus() { + CompositeHealth health = new CompositeHealth(Status.UP, Collections.emptyMap()); + assertThat(health.getStatus()).isEqualTo(Status.UP); + } + + @Test + void getComponentReturnsComponents() { + Map components = new LinkedHashMap<>(); + components.put("a", Health.up().build()); + CompositeHealth health = new CompositeHealth(Status.UP, components); + assertThat(health.getComponents()).isEqualTo(components); + } + + @Test + void serializeWithJacksonReturnsValidJson() throws Exception { + Map components = new LinkedHashMap<>(); + components.put("db1", Health.up().build()); + components.put("db2", Health.down().withDetail("a", "b").build()); + CompositeHealth health = new CompositeHealth(Status.UP, components); + ObjectMapper mapper = new ObjectMapper(); + String json = mapper.writeValueAsString(health); + assertThat(json).isEqualTo("{\"status\":\"UP\",\"components\":{\"db1\":{\"status\":\"UP\"}," + + "\"db2\":{\"status\":\"DOWN\",\"details\":{\"a\":\"b\"}}}}"); + } + +} diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeReactiveHealthContributorTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeReactiveHealthContributorTests.java similarity index 98% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeReactiveHealthContributorTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeReactiveHealthContributorTests.java index 38d9328fa3..748be99f82 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeReactiveHealthContributorTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/CompositeReactiveHealthContributorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.LinkedHashMap; import java.util.Map; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthIndicatorReactiveAdapterTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/HealthIndicatorReactiveAdapterTests.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthIndicatorReactiveAdapterTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/HealthIndicatorReactiveAdapterTests.java index 5ed07cda1d..abb44a73d0 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthIndicatorReactiveAdapterTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/HealthIndicatorReactiveAdapterTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.time.Duration; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthIndicatorTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/HealthIndicatorTests.java similarity index 96% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthIndicatorTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/HealthIndicatorTests.java index 250c42280b..83c9d0cfb1 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/HealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import org.junit.jupiter.api.Test; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/HealthTests.java similarity index 99% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/HealthTests.java index 990b0493af..1dc8b4553c 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/HealthTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/HealthTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Collections; import java.util.LinkedHashMap; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/NamedContributorTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/NamedContributorTests.java similarity index 96% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/NamedContributorTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/NamedContributorTests.java index abab9106ab..283c864ff4 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/NamedContributorTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/NamedContributorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import org.junit.jupiter.api.Test; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/NamedContributorsMapAdapterTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/NamedContributorsMapAdapterTests.java similarity index 98% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/NamedContributorsMapAdapterTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/NamedContributorsMapAdapterTests.java index b673d85c56..a7c368f231 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/NamedContributorsMapAdapterTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/NamedContributorsMapAdapterTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Collections; import java.util.Iterator; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthContributorTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/ReactiveHealthContributorTests.java similarity index 85% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthContributorTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/ReactiveHealthContributorTests.java index 545c5217c6..eabe64dbe7 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthContributorTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/ReactiveHealthContributorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import java.util.Collections; @@ -22,8 +22,6 @@ import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.assertj.core.api.Assertions.assertThatIllegalStateException; -import static org.mockito.Mockito.mock; /** * Tests for {@link ReactiveHealthContributor}. @@ -57,11 +55,4 @@ class ReactiveHealthContributorTests { assertThat(((ReactiveHealthIndicator) contained).health().block().getStatus()).isEqualTo(Status.OUT_OF_SERVICE); } - @Test - void adaptWhenUnknownThrowsException() { - assertThatIllegalStateException() - .isThrownBy(() -> ReactiveHealthContributor.adapt(mock(HealthContributor.class))) - .withMessage("Unknown HealthContributor type"); - } - } diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/ReactiveHealthIndicatorTests.java similarity index 96% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/ReactiveHealthIndicatorTests.java index bc3e196305..9677321eaf 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/ReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/ReactiveHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import org.junit.jupiter.api.Test; import reactor.core.publisher.Mono; diff --git a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/StatusTests.java b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/StatusTests.java similarity index 97% rename from spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/StatusTests.java rename to spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/StatusTests.java index 91f27a9964..d20289de7c 100644 --- a/spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/StatusTests.java +++ b/spring-boot-project/spring-boot-health/src/test/java/org/springframework/boot/health/StatusTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.health; +package org.springframework.boot.health; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; diff --git a/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfiguration.java index ec14447017..1af0d13fc1 100644 --- a/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfiguration.java @@ -31,17 +31,17 @@ import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.support.SimpleAutowireCandidateResolver; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.CompositeHealthContributor; -import org.springframework.boot.actuate.health.HealthContributor; -import org.springframework.boot.actuate.health.NamedContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.boot.jdbc.actuate.health.DataSourceHealthIndicator; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.NamedContributor; import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration; +import org.springframework.boot.jdbc.health.DataSourceHealthIndicator; import org.springframework.boot.jdbc.metadata.CompositeDataSourcePoolMetadataProvider; import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadata; import org.springframework.boot.jdbc.metadata.DataSourcePoolMetadataProvider; diff --git a/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthIndicatorProperties.java b/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthIndicatorProperties.java index 54065d6769..46b9366d47 100644 --- a/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthIndicatorProperties.java +++ b/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthIndicatorProperties.java @@ -17,7 +17,7 @@ package org.springframework.boot.jdbc.autoconfigure.health; import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.jdbc.actuate.health.DataSourceHealthIndicator; +import org.springframework.boot.jdbc.health.DataSourceHealthIndicator; /** * External configuration properties for {@link DataSourceHealthIndicator}. diff --git a/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/actuate/health/DataSourceHealthIndicator.java b/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/health/DataSourceHealthIndicator.java similarity index 94% rename from spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/actuate/health/DataSourceHealthIndicator.java rename to spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/health/DataSourceHealthIndicator.java index 31b61e5a48..461fd946a0 100644 --- a/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/actuate/health/DataSourceHealthIndicator.java +++ b/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/health/DataSourceHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.jdbc.actuate.health; +package org.springframework.boot.jdbc.health; import java.sql.Connection; import java.sql.ResultSet; @@ -25,10 +25,10 @@ import java.util.List; import javax.sql.DataSource; import org.springframework.beans.factory.InitializingBean; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.dao.support.DataAccessUtils; import org.springframework.jdbc.IncorrectResultSetColumnCountException; import org.springframework.jdbc.core.ConnectionCallback; diff --git a/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/actuate/health/package-info.java b/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/health/package-info.java similarity index 92% rename from spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/actuate/health/package-info.java rename to spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/health/package-info.java index 6ea6df73af..ca48d4015a 100644 --- a/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-jdbc/src/main/java/org/springframework/boot/jdbc/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for JDBC. */ -package org.springframework.boot.jdbc.actuate.health; +package org.springframework.boot.jdbc.health; diff --git a/spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfigurationTests.java index 1c2104e810..96680e1a1c 100644 --- a/spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/health/DataSourceHealthContributorAutoConfigurationTests.java @@ -30,17 +30,17 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; -import org.springframework.boot.actuate.health.CompositeHealthContributor; -import org.springframework.boot.actuate.health.NamedContributor; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.NamedContributor; import org.springframework.boot.jdbc.DataSourceBuilder; -import org.springframework.boot.jdbc.actuate.health.DataSourceHealthIndicator; import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration; import org.springframework.boot.jdbc.autoconfigure.DataSourcePoolMetadataProvidersConfiguration; import org.springframework.boot.jdbc.autoconfigure.EmbeddedDataSourceConfiguration; import org.springframework.boot.jdbc.autoconfigure.health.DataSourceHealthContributorAutoConfiguration.RoutingDataSourceHealthContributor; +import org.springframework.boot.jdbc.health.DataSourceHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/actuate/health/DataSourceHealthIndicatorTests.java b/spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/health/DataSourceHealthIndicatorTests.java similarity index 96% rename from spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/actuate/health/DataSourceHealthIndicatorTests.java rename to spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/health/DataSourceHealthIndicatorTests.java index 9c4be6791b..aa765131a0 100644 --- a/spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/actuate/health/DataSourceHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/health/DataSourceHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.jdbc.actuate.health; +package org.springframework.boot.jdbc.health; import java.sql.Connection; import java.sql.SQLException; @@ -25,8 +25,8 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.boot.jdbc.EmbeddedDatabaseConnection; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.SingleConnectionDataSource; diff --git a/spring-boot-project/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/actuate/endpoint/web/HealthEndpointJerseyExtensionAutoConfigurationTests.java b/spring-boot-project/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/actuate/endpoint/web/HealthEndpointJerseyExtensionAutoConfigurationTests.java index 87b980f946..4cf78c7b2d 100644 --- a/spring-boot-project/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/actuate/endpoint/web/HealthEndpointJerseyExtensionAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-jersey/src/test/java/org/springframework/boot/jersey/autoconfigure/actuate/endpoint/web/HealthEndpointJerseyExtensionAutoConfigurationTests.java @@ -25,12 +25,12 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAu import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; -import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.health.HealthEndpointWebExtension; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.ReactiveHealthIndicator; import org.springframework.boot.jersey.autoconfigure.actuate.endpoint.web.HealthEndpointJerseyExtensionAutoConfiguration.JerseyAdditionalHealthEndpointPathsResourcesRegistrar; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; import org.springframework.context.annotation.Bean; diff --git a/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfiguration.java index b95d3bdc8e..a27428bd18 100644 --- a/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfiguration.java @@ -21,14 +21,14 @@ import jakarta.jms.ConnectionFactory; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.jms.actuate.health.JmsHealthIndicator; +import org.springframework.boot.health.HealthContributor; import org.springframework.boot.jms.autoconfigure.JmsAutoConfiguration; +import org.springframework.boot.jms.health.JmsHealthIndicator; import org.springframework.context.annotation.Bean; /** diff --git a/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicator.java b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/health/JmsHealthIndicator.java similarity index 91% rename from spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicator.java rename to spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/health/JmsHealthIndicator.java index 08daf37cb4..e9da8e58e4 100644 --- a/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicator.java +++ b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/health/JmsHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.jms.actuate.health; +package org.springframework.boot.jms.health; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -25,9 +25,9 @@ import jakarta.jms.JMSException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; /** * {@link HealthIndicator} for a JMS {@link ConnectionFactory}. diff --git a/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/package-info.java b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/health/package-info.java similarity index 92% rename from spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/package-info.java rename to spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/health/package-info.java index 2b5c0dc008..dc8470b0ac 100644 --- a/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-jms/src/main/java/org/springframework/boot/jms/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for JMS. */ -package org.springframework.boot.jms.actuate.health; +package org.springframework.boot.jms.health; diff --git a/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfigurationTests.java index 1f6c13a448..bf458855f7 100644 --- a/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/autoconfigure/health/JmsHealthContributorAutoConfigurationTests.java @@ -21,7 +21,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.jms.actuate.health.JmsHealthIndicator; +import org.springframework.boot.jms.health.JmsHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicatorTests.java b/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/health/JmsHealthIndicatorTests.java similarity index 97% rename from spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicatorTests.java rename to spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/health/JmsHealthIndicatorTests.java index f7e2be4a8b..aefe5ffa5b 100644 --- a/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/actuate/health/JmsHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-jms/src/test/java/org/springframework/boot/jms/health/JmsHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.jms.actuate.health; +package org.springframework.boot.jms.health; import jakarta.jms.Connection; import jakarta.jms.ConnectionFactory; @@ -24,8 +24,8 @@ import org.junit.jupiter.api.Test; import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.BDDMockito.given; diff --git a/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfiguration.java index 459b5207cd..705c7fd97f 100644 --- a/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfiguration.java @@ -19,14 +19,14 @@ package org.springframework.boot.ldap.autoconfigure.health; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.ldap.actuate.health.LdapHealthIndicator; +import org.springframework.boot.health.HealthContributor; import org.springframework.boot.ldap.autoconfigure.LdapAutoConfiguration; +import org.springframework.boot.ldap.health.LdapHealthIndicator; import org.springframework.context.annotation.Bean; import org.springframework.ldap.core.LdapOperations; diff --git a/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/actuate/health/LdapHealthIndicator.java b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/LdapHealthIndicator.java similarity index 88% rename from spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/actuate/health/LdapHealthIndicator.java rename to spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/LdapHealthIndicator.java index bb494f57c4..fe09ecb2ba 100644 --- a/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/actuate/health/LdapHealthIndicator.java +++ b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/LdapHealthIndicator.java @@ -14,14 +14,14 @@ * limitations under the License. */ -package org.springframework.boot.ldap.actuate.health; +package org.springframework.boot.ldap.health; import javax.naming.NamingException; import javax.naming.directory.DirContext; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.ldap.core.ContextExecutor; import org.springframework.ldap.core.LdapOperations; import org.springframework.util.Assert; diff --git a/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/actuate/health/package-info.java b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/package-info.java similarity index 92% rename from spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/actuate/health/package-info.java rename to spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/package-info.java index cec7c896be..ca692f2889 100644 --- a/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-ldap/src/main/java/org/springframework/boot/ldap/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for LDAP. */ -package org.springframework.boot.ldap.actuate.health; +package org.springframework.boot.ldap.health; diff --git a/spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfigurationTests.java index e3bb9a1092..62ad629aa3 100644 --- a/spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/autoconfigure/health/LdapHealthContributorAutoConfigurationTests.java @@ -20,7 +20,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.ldap.actuate.health.LdapHealthIndicator; +import org.springframework.boot.ldap.health.LdapHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.ldap.core.LdapOperations; diff --git a/spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/actuate/health/LdapHealthIndicatorTests.java b/spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/health/LdapHealthIndicatorTests.java similarity index 93% rename from spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/actuate/health/LdapHealthIndicatorTests.java rename to spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/health/LdapHealthIndicatorTests.java index f8aa98c8b5..48bcc7c6e7 100644 --- a/spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/actuate/health/LdapHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-ldap/src/test/java/org/springframework/boot/ldap/health/LdapHealthIndicatorTests.java @@ -14,12 +14,12 @@ * limitations under the License. */ -package org.springframework.boot.ldap.actuate.health; +package org.springframework.boot.ldap.health; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.ldap.CommunicationException; import org.springframework.ldap.core.ContextExecutor; import org.springframework.ldap.core.LdapTemplate; diff --git a/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfiguration.java index ffa6bab7b0..4538b94a0c 100644 --- a/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfiguration.java @@ -19,13 +19,13 @@ package org.springframework.boot.mail.autoconfigure; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.HealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.mail.actuate.health.MailHealthIndicator; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.mail.health.MailHealthIndicator; import org.springframework.context.annotation.Bean; import org.springframework.mail.javamail.JavaMailSenderImpl; diff --git a/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/actuate/health/MailHealthIndicator.java b/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/health/MailHealthIndicator.java similarity index 82% rename from spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/actuate/health/MailHealthIndicator.java rename to spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/health/MailHealthIndicator.java index a40f5bf924..3bac60de50 100644 --- a/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/actuate/health/MailHealthIndicator.java +++ b/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/health/MailHealthIndicator.java @@ -14,11 +14,11 @@ * limitations under the License. */ -package org.springframework.boot.mail.actuate.health; +package org.springframework.boot.mail.health; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health.Builder; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.util.StringUtils; @@ -39,7 +39,7 @@ public class MailHealthIndicator extends AbstractHealthIndicator { } @Override - protected void doHealthCheck(Builder builder) throws Exception { + protected void doHealthCheck(Health.Builder builder) throws Exception { String host = this.mailSender.getHost(); int port = this.mailSender.getPort(); StringBuilder location = new StringBuilder((host != null) ? host : ""); diff --git a/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/actuate/health/package-info.java b/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/health/package-info.java similarity index 92% rename from spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/actuate/health/package-info.java rename to spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/health/package-info.java index 004104c368..9238b244a7 100644 --- a/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-mail/src/main/java/org/springframework/boot/mail/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for JavaMail. */ -package org.springframework.boot.mail.actuate.health; +package org.springframework.boot.mail.health; diff --git a/spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfigurationTests.java index 293f94a8a5..ba9685c3dd 100644 --- a/spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/autoconfigure/MailHealthContributorAutoConfigurationTests.java @@ -20,7 +20,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.mail.actuate.health.MailHealthIndicator; +import org.springframework.boot.mail.health.MailHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/actuate/health/MailHealthIndicatorTests.java b/spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/health/MailHealthIndicatorTests.java similarity index 97% rename from spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/actuate/health/MailHealthIndicatorTests.java rename to spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/health/MailHealthIndicatorTests.java index 9ee658c44a..f4ab661397 100644 --- a/spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/actuate/health/MailHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-mail/src/test/java/org/springframework/boot/mail/health/MailHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.mail.actuate.health; +package org.springframework.boot.mail.health; import java.util.Properties; @@ -29,8 +29,8 @@ import jakarta.mail.URLName; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.mail.javamail.JavaMailSenderImpl; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-neo4j/src/dockerTest/java/org/springframework/boot/actuate/neo4j/Neo4jReactiveHealthIndicatorIntegrationTests.java b/spring-boot-project/spring-boot-neo4j/src/dockerTest/java/org/springframework/boot/neo4/health/Neo4jReactiveHealthIndicatorIntegrationTests.java similarity index 91% rename from spring-boot-project/spring-boot-neo4j/src/dockerTest/java/org/springframework/boot/actuate/neo4j/Neo4jReactiveHealthIndicatorIntegrationTests.java rename to spring-boot-project/spring-boot-neo4j/src/dockerTest/java/org/springframework/boot/neo4/health/Neo4jReactiveHealthIndicatorIntegrationTests.java index 7e1db1552f..39bfa668e0 100644 --- a/spring-boot-project/spring-boot-neo4j/src/dockerTest/java/org/springframework/boot/actuate/neo4j/Neo4jReactiveHealthIndicatorIntegrationTests.java +++ b/spring-boot-project/spring-boot-neo4j/src/dockerTest/java/org/springframework/boot/neo4/health/Neo4jReactiveHealthIndicatorIntegrationTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.actuate.neo4j; +package org.springframework.boot.neo4.health; import java.time.Duration; @@ -24,11 +24,11 @@ import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; import org.springframework.boot.autoconfigure.ImportAutoConfiguration; -import org.springframework.boot.neo4j.actuate.health.Neo4jReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import org.springframework.boot.neo4j.autoconfigure.Neo4jAutoConfiguration; +import org.springframework.boot.neo4j.health.Neo4jReactiveHealthIndicator; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.testsupport.container.TestImage; import org.springframework.context.annotation.Configuration; diff --git a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfiguration.java index 65577ce4f6..4cc201b3a6 100644 --- a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfiguration.java @@ -23,11 +23,11 @@ import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.boot.neo4j.actuate.health.Neo4jHealthIndicator; -import org.springframework.boot.neo4j.actuate.health.Neo4jReactiveHealthIndicator; import org.springframework.boot.neo4j.autoconfigure.Neo4jAutoConfiguration; import org.springframework.boot.neo4j.autoconfigure.health.Neo4jHealthContributorConfigurations.Neo4jConfiguration; import org.springframework.boot.neo4j.autoconfigure.health.Neo4jHealthContributorConfigurations.Neo4jReactiveConfiguration; +import org.springframework.boot.neo4j.health.Neo4jHealthIndicator; +import org.springframework.boot.neo4j.health.Neo4jReactiveHealthIndicator; import org.springframework.context.annotation.Import; /** diff --git a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorConfigurations.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorConfigurations.java index b75ded25a5..e62b284aec 100644 --- a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorConfigurations.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorConfigurations.java @@ -22,12 +22,12 @@ import reactor.core.publisher.Flux; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration; -import org.springframework.boot.actuate.health.HealthContributor; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.neo4j.actuate.health.Neo4jHealthIndicator; -import org.springframework.boot.neo4j.actuate.health.Neo4jReactiveHealthIndicator; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.ReactiveHealthContributor; +import org.springframework.boot.neo4j.health.Neo4jHealthIndicator; +import org.springframework.boot.neo4j.health.Neo4jReactiveHealthIndicator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthDetails.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jHealthDetails.java similarity index 95% rename from spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthDetails.java rename to spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jHealthDetails.java index e7103bdd64..35977c0bdd 100644 --- a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthDetails.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jHealthDetails.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.neo4j.actuate.health; +package org.springframework.boot.neo4j.health; import org.neo4j.driver.Record; import org.neo4j.driver.summary.ResultSummary; diff --git a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthDetailsHandler.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jHealthDetailsHandler.java similarity index 86% rename from spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthDetailsHandler.java rename to spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jHealthDetailsHandler.java index 47c6357934..b83f9d4390 100644 --- a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthDetailsHandler.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jHealthDetailsHandler.java @@ -14,13 +14,13 @@ * limitations under the License. */ -package org.springframework.boot.neo4j.actuate.health; +package org.springframework.boot.neo4j.health; import org.neo4j.driver.summary.DatabaseInfo; import org.neo4j.driver.summary.ResultSummary; import org.neo4j.driver.summary.ServerInfo; -import org.springframework.boot.actuate.health.Health.Builder; +import org.springframework.boot.health.Health; import org.springframework.util.StringUtils; /** @@ -32,10 +32,10 @@ class Neo4jHealthDetailsHandler { /** * Add health details for the specified {@link ResultSummary} and {@code edition}. - * @param builder the {@link Builder} to use + * @param builder the builder to use * @param healthDetails the health details of the server */ - void addHealthDetails(Builder builder, Neo4jHealthDetails healthDetails) { + void addHealthDetails(Health.Builder builder, Neo4jHealthDetails healthDetails) { ResultSummary summary = healthDetails.getSummary(); ServerInfo serverInfo = summary.server(); builder.up() diff --git a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthIndicator.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jHealthIndicator.java similarity index 92% rename from spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthIndicator.java rename to spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jHealthIndicator.java index e60c03f003..1ac5402f9a 100644 --- a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthIndicator.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.neo4j.actuate.health; +package org.springframework.boot.neo4j.health; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -27,9 +27,9 @@ import org.neo4j.driver.SessionConfig; import org.neo4j.driver.exceptions.SessionExpiredException; import org.neo4j.driver.summary.ResultSummary; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; /** * {@link HealthIndicator} that tests the status of a Neo4j by executing a Cypher diff --git a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jReactiveHealthIndicator.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jReactiveHealthIndicator.java similarity index 93% rename from spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jReactiveHealthIndicator.java rename to spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jReactiveHealthIndicator.java index 3e22c11e06..de2011312a 100644 --- a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/Neo4jReactiveHealthIndicator.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/Neo4jReactiveHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.neo4j.actuate.health; +package org.springframework.boot.neo4j.health; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -28,9 +28,9 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.util.retry.Retry; -import org.springframework.boot.actuate.health.AbstractReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; +import org.springframework.boot.health.AbstractReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.ReactiveHealthIndicator; /** * {@link ReactiveHealthIndicator} that tests the status of a Neo4j by executing a Cypher diff --git a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/package-info.java b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/package-info.java similarity index 92% rename from spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/package-info.java rename to spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/package-info.java index 2f5735fb61..26802fc471 100644 --- a/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-neo4j/src/main/java/org/springframework/boot/neo4j/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for Neo4j. */ -package org.springframework.boot.neo4j.actuate.health; +package org.springframework.boot.neo4j.health; diff --git a/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfigurationTests.java index 0291c0a320..4195228aba 100644 --- a/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/autoconfigure/health/Neo4jHealthContributorAutoConfigurationTests.java @@ -21,12 +21,12 @@ import org.neo4j.driver.Driver; import reactor.core.publisher.Flux; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; -import org.springframework.boot.actuate.health.AbstractHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.neo4j.actuate.health.Neo4jHealthIndicator; -import org.springframework.boot.neo4j.actuate.health.Neo4jReactiveHealthIndicator; +import org.springframework.boot.health.AbstractHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.neo4j.health.Neo4jHealthIndicator; +import org.springframework.boot.neo4j.health.Neo4jReactiveHealthIndicator; import org.springframework.boot.test.context.FilteredClassLoader; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.context.annotation.Bean; diff --git a/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthIndicatorTests.java b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/health/Neo4jHealthIndicatorTests.java similarity index 97% rename from spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthIndicatorTests.java rename to spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/health/Neo4jHealthIndicatorTests.java index 3bc58185e8..419f94723c 100644 --- a/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/Neo4jHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/health/Neo4jHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.neo4j.actuate.health; +package org.springframework.boot.neo4j.health; import java.util.concurrent.atomic.AtomicInteger; @@ -29,8 +29,8 @@ import org.neo4j.driver.exceptions.ServiceUnavailableException; import org.neo4j.driver.exceptions.SessionExpiredException; import org.neo4j.driver.summary.ResultSummary; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; diff --git a/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/Neo4jReactiveHealthIndicatorTests.java b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/health/Neo4jReactiveHealthIndicatorTests.java similarity index 97% rename from spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/Neo4jReactiveHealthIndicatorTests.java rename to spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/health/Neo4jReactiveHealthIndicatorTests.java index 44ad3e1920..e0e5d335ad 100644 --- a/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/Neo4jReactiveHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/health/Neo4jReactiveHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.neo4j.actuate.health; +package org.springframework.boot.neo4j.health; import java.time.Duration; import java.util.concurrent.atomic.AtomicInteger; @@ -33,7 +33,7 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.ArgumentMatchers.any; diff --git a/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/ResultSummaryMock.java b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/health/ResultSummaryMock.java similarity index 96% rename from spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/ResultSummaryMock.java rename to spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/health/ResultSummaryMock.java index 0aaf1a03da..631cb2cf46 100644 --- a/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/actuate/health/ResultSummaryMock.java +++ b/spring-boot-project/spring-boot-neo4j/src/test/java/org/springframework/boot/neo4j/health/ResultSummaryMock.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.neo4j.actuate.health; +package org.springframework.boot.neo4j.health; import org.neo4j.driver.summary.DatabaseInfo; import org.neo4j.driver.summary.ResultSummary; diff --git a/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfiguration.java index 7917f5061d..6c7ba9ba72 100644 --- a/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfiguration.java @@ -21,14 +21,14 @@ import io.r2dbc.spi.ConnectionFactory; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.boot.actuate.autoconfigure.health.CompositeReactiveHealthContributorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; -import org.springframework.boot.actuate.health.ReactiveHealthContributor; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.boot.r2dbc.actuate.health.ConnectionFactoryHealthIndicator; +import org.springframework.boot.health.ReactiveHealthContributor; import org.springframework.boot.r2dbc.autoconfigure.R2dbcAutoConfiguration; +import org.springframework.boot.r2dbc.health.ConnectionFactoryHealthIndicator; import org.springframework.context.annotation.Bean; /** diff --git a/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/actuate/health/ConnectionFactoryHealthIndicator.java b/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/health/ConnectionFactoryHealthIndicator.java similarity index 85% rename from spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/actuate/health/ConnectionFactoryHealthIndicator.java rename to spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/health/ConnectionFactoryHealthIndicator.java index f3fc8ff0f2..ff774d4529 100644 --- a/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/actuate/health/ConnectionFactoryHealthIndicator.java +++ b/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/health/ConnectionFactoryHealthIndicator.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.r2dbc.actuate.health; +package org.springframework.boot.r2dbc.health; import io.r2dbc.spi.Connection; import io.r2dbc.spi.ConnectionFactory; @@ -24,11 +24,10 @@ import io.r2dbc.spi.ValidationDepth; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import org.springframework.boot.actuate.health.AbstractReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.Health.Builder; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.AbstractReactiveHealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.Status; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -69,18 +68,18 @@ public class ConnectionFactoryHealthIndicator extends AbstractReactiveHealthIndi } @Override - protected final Mono doHealthCheck(Builder builder) { + protected final Mono doHealthCheck(Health.Builder builder) { return validate(builder).defaultIfEmpty(builder.build()) .onErrorResume(Exception.class, (ex) -> Mono.just(builder.down(ex).build())); } - private Mono validate(Builder builder) { + private Mono validate(Health.Builder builder) { builder.withDetail("database", this.connectionFactory.getMetadata().getName()); return (StringUtils.hasText(this.validationQuery)) ? validateWithQuery(builder) : validateWithConnectionValidation(builder); } - private Mono validateWithQuery(Builder builder) { + private Mono validateWithQuery(Health.Builder builder) { builder.withDetail("validationQuery", this.validationQuery); Mono connectionValidation = Mono.usingWhen(this.connectionFactory.create(), (conn) -> Flux.from(conn.createStatement(this.validationQuery).execute()) @@ -90,7 +89,7 @@ public class ConnectionFactoryHealthIndicator extends AbstractReactiveHealthIndi return connectionValidation.map((result) -> builder.up().withDetail("result", result).build()); } - private Mono validateWithConnectionValidation(Builder builder) { + private Mono validateWithConnectionValidation(Health.Builder builder) { builder.withDetail("validationQuery", "validate(REMOTE)"); Mono connectionValidation = Mono.usingWhen(this.connectionFactory.create(), (connection) -> Mono.from(connection.validate(ValidationDepth.REMOTE)), Connection::close, diff --git a/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/actuate/health/package-info.java b/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/health/package-info.java similarity index 92% rename from spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/actuate/health/package-info.java rename to spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/health/package-info.java index 61235f5e47..72ec02269a 100644 --- a/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/actuate/health/package-info.java +++ b/spring-boot-project/spring-boot-r2dbc/src/main/java/org/springframework/boot/r2dbc/health/package-info.java @@ -17,4 +17,4 @@ /** * Health integration for R2DBC. */ -package org.springframework.boot.r2dbc.actuate.health; +package org.springframework.boot.r2dbc.health; diff --git a/spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfigurationTests.java b/spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfigurationTests.java index 949fecda4d..f219763afd 100644 --- a/spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/autoconfigure/health/ConnectionFactoryHealthContributorAutoConfigurationTests.java @@ -20,8 +20,8 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfigurations; -import org.springframework.boot.r2dbc.actuate.health.ConnectionFactoryHealthIndicator; import org.springframework.boot.r2dbc.autoconfigure.R2dbcAutoConfiguration; +import org.springframework.boot.r2dbc.health.ConnectionFactoryHealthIndicator; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import static org.assertj.core.api.Assertions.assertThat; diff --git a/spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/actuate/health/ConnectionFactoryHealthIndicatorTests.java b/spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/health/ConnectionFactoryHealthIndicatorTests.java similarity index 97% rename from spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/actuate/health/ConnectionFactoryHealthIndicatorTests.java rename to spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/health/ConnectionFactoryHealthIndicatorTests.java index a7371bb3d8..3dee03cea3 100644 --- a/spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/actuate/health/ConnectionFactoryHealthIndicatorTests.java +++ b/spring-boot-project/spring-boot-r2dbc/src/test/java/org/springframework/boot/r2dbc/health/ConnectionFactoryHealthIndicatorTests.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.boot.r2dbc.actuate.health; +package org.springframework.boot.r2dbc.health; import java.time.Duration; import java.util.Collections; @@ -32,8 +32,8 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.ReactiveHealthIndicator; +import org.springframework.boot.health.Status; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.entry; diff --git a/spring-boot-project/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfigurationTests.java b/spring-boot-project/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfigurationTests.java index 95424e86bd..8f2ce7741e 100644 --- a/spring-boot-project/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-webflux/src/test/java/org/springframework/boot/webflux/autoconfigure/actuate/endpoint/web/WebFluxHealthEndpointExtensionAutoConfigurationTests.java @@ -25,12 +25,12 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAu import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; -import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthEndpoint; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension; -import org.springframework.boot.actuate.health.ReactiveHealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; +import org.springframework.boot.health.ReactiveHealthIndicator; import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner; import org.springframework.boot.webflux.actuate.endpoint.web.AdditionalHealthEndpointPathsWebFluxHandlerMapping; import org.springframework.context.annotation.Bean; diff --git a/spring-boot-project/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/actuate/autoconfigure/health/WebMvcHealthEndpointExtensionAutoConfigurationTests.java b/spring-boot-project/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/actuate/autoconfigure/health/WebMvcHealthEndpointExtensionAutoConfigurationTests.java index 9b8f8b93c9..58311a910f 100644 --- a/spring-boot-project/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/actuate/autoconfigure/health/WebMvcHealthEndpointExtensionAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-webmvc/src/test/java/org/springframework/boot/webmvc/actuate/autoconfigure/health/WebMvcHealthEndpointExtensionAutoConfigurationTests.java @@ -24,11 +24,11 @@ import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAu import org.springframework.boot.actuate.autoconfigure.health.HealthContributorAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.health.HealthEndpointAutoConfiguration; import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier; -import org.springframework.boot.actuate.health.Health; import org.springframework.boot.actuate.health.HealthEndpoint; import org.springframework.boot.actuate.health.HealthEndpointWebExtension; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.AutoConfigurations; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.boot.test.context.runner.WebApplicationContextRunner; import org.springframework.boot.webmvc.actuate.endpoint.web.AdditionalHealthEndpointPathsWebMvcHandlerMapping; import org.springframework.boot.webmvc.autoconfigure.actuate.endpoint.web.WebMvcHealthEndpointExtensionAutoConfiguration; diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/main/java/smoketest/actuator/ExampleHealthIndicator.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/main/java/smoketest/actuator/ExampleHealthIndicator.java index c02131e39d..254eb2859e 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/main/java/smoketest/actuator/ExampleHealthIndicator.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/main/java/smoketest/actuator/ExampleHealthIndicator.java @@ -16,8 +16,8 @@ package smoketest.actuator; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthIndicator; import org.springframework.stereotype.Component; @Component diff --git a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/main/java/smoketest/actuator/SampleActuatorApplication.java b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/main/java/smoketest/actuator/SampleActuatorApplication.java index f7264d52bf..7dab31ce68 100644 --- a/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/main/java/smoketest/actuator/SampleActuatorApplication.java +++ b/spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/main/java/smoketest/actuator/SampleActuatorApplication.java @@ -20,13 +20,13 @@ import java.util.LinkedHashMap; import java.util.Map; import org.springframework.boot.SpringApplication; -import org.springframework.boot.actuate.health.CompositeHealthContributor; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthContributor; -import org.springframework.boot.actuate.health.HealthIndicator; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup; import org.springframework.boot.context.properties.ConfigurationPropertiesScan; +import org.springframework.boot.health.CompositeHealthContributor; +import org.springframework.boot.health.Health; +import org.springframework.boot.health.HealthContributor; +import org.springframework.boot.health.HealthIndicator; import org.springframework.context.annotation.Bean; @SpringBootApplication