{
-
- public MongoReactiveHealthContributorAutoConfiguration() {
- super(MongoReactiveHealthIndicator::new);
- }
-
- @Bean
- @ConditionalOnMissingBean(name = { "mongoHealthIndicator", "mongoHealthContributor" })
- public ReactiveHealthContributor mongoHealthContributor(ConfigurableListableBeanFactory beanFactory) {
- return createContributor(beanFactory, ReactiveMongoTemplate.class);
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/package-info.java
deleted file mode 100644
index a2ab9cdad610..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/data/mongo/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator MongoDB concerns dependent on Spring Data.
- */
-package org.springframework.boot.actuate.autoconfigure.data.mongo;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/data/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/data/package-info.java
deleted file mode 100644
index a13e38e23839..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/data/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator concerns dependent on Spring Data.
- */
-package org.springframework.boot.actuate.autoconfigure.data;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/data/redis/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/data/redis/package-info.java
deleted file mode 100644
index 8ba9bcd02b8e..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/data/redis/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator Redis concerns dependent on Spring Data.
- */
-package org.springframework.boot.actuate.autoconfigure.data.redis;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/package-info.java
deleted file mode 100644
index daf6df05d089..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/elasticsearch/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator Elasticsearch concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.elasticsearch;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/condition/ConditionalOnAvailableEndpoint.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/condition/ConditionalOnAvailableEndpoint.java
index 48eaa671eae5..12b0d1872ee0 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/condition/ConditionalOnAvailableEndpoint.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/condition/ConditionalOnAvailableEndpoint.java
@@ -34,9 +34,9 @@
* endpoint is considered available if it is both enabled and exposed on the specified
* technologies.
*
- * Matches enablement according to the endpoints specific {@link Environment} property,
- * falling back to {@code management.endpoints.enabled-by-default} or failing that
- * {@link Endpoint#enableByDefault()}.
+ * Matches access according to the endpoint's specific {@link Environment} property,
+ * falling back to {@code management.endpoints.default-access} or failing that
+ * {@link Endpoint#defaultAccess()}.
*
* Matches exposure according to any of the {@code management.endpoints.web.exposure.}
* or {@code management.endpoints.jmx.exposure.} specific properties or failing that
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/condition/OnAvailableEndpointCondition.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/condition/OnAvailableEndpointCondition.java
index 792841cf9f12..bfa82f7c8c85 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/condition/OnAvailableEndpointCondition.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/condition/OnAvailableEndpointCondition.java
@@ -17,7 +17,6 @@
package org.springframework.boot.actuate.autoconfigure.endpoint.condition;
import java.util.Arrays;
-import java.util.Collection;
import java.util.EnumSet;
import java.util.LinkedHashSet;
import java.util.List;
@@ -126,8 +125,7 @@ private ConditionOutcome getMatchOutcome(ConditionContext context,
private ConditionOutcome getAccessOutcome(Environment environment, MergedAnnotation endpointAnnotation,
EndpointId endpointId, ConditionMessage.Builder message) {
Access defaultAccess = endpointAnnotation.getEnum("defaultAccess", Access.class);
- boolean enableByDefault = endpointAnnotation.getBoolean("enableByDefault");
- Access access = getAccess(environment, endpointId, (enableByDefault) ? defaultAccess : Access.NONE);
+ Access access = getAccess(environment, endpointId, defaultAccess);
return new ConditionOutcome(access != Access.NONE,
message.because("the configured access for endpoint '%s' is %s".formatted(endpointId, access)));
}
@@ -153,17 +151,8 @@ private ConditionOutcome getExposureOutcome(ConditionContext context,
private Set getExposures(MergedAnnotation conditionAnnotation) {
EndpointExposure[] exposures = conditionAnnotation.getEnumArray("exposure", EndpointExposure.class);
- return replaceCloudFoundryExposure(
- (exposures.length == 0) ? EnumSet.allOf(EndpointExposure.class) : Arrays.asList(exposures));
- }
-
- @SuppressWarnings("removal")
- private Set replaceCloudFoundryExposure(Collection exposures) {
- Set result = EnumSet.copyOf(exposures);
- if (result.remove(EndpointExposure.CLOUD_FOUNDRY)) {
- result.add(EndpointExposure.WEB);
- }
- return result;
+ return (exposures.length == 0) ? EnumSet.allOf(EndpointExposure.class)
+ : EnumSet.copyOf(Arrays.asList(exposures));
}
private Set getExposureOutcomeContributors(ConditionContext context) {
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/expose/EndpointExposure.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/expose/EndpointExposure.java
index c79e228fe021..769b7029a248 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/expose/EndpointExposure.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/expose/EndpointExposure.java
@@ -32,16 +32,7 @@ public enum EndpointExposure {
/**
* Exposed over a web endpoint.
*/
- WEB("health"),
-
- /**
- * Exposed on Cloud Foundry over `/cloudfoundryapplication`.
- * @since 2.6.4
- * @deprecated since 3.4.0 for removal in 4.0.0 in favor of using
- * {@link EndpointExposure#WEB}
- */
- @Deprecated(since = "3.4.0", forRemoval = true)
- CLOUD_FOUNDRY("*");
+ WEB("health");
private final String[] defaultIncludes;
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 7466b7309d26..4d2f9a7a25f3 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,9 +28,9 @@
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBooleanProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
+import org.springframework.util.ClassUtils;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Endpoint Jackson support.
@@ -35,10 +38,12 @@
* @author Phillip Webb
* @since 3.0.0
*/
-@AutoConfiguration(after = JacksonAutoConfiguration.class)
+@AutoConfiguration
@SuppressWarnings("removal")
public class JacksonEndpointAutoConfiguration {
+ private static final String CONTRIBUTED_HEALTH = "org.springframework.boot.health.contributor.ContributedHealth";
+
@Bean
@ConditionalOnBooleanProperty(name = "management.endpoints.jackson.isolated-object-mapper", matchIfMissing = true)
@ConditionalOnClass({ ObjectMapper.class, Jackson2ObjectMapperBuilder.class })
@@ -48,7 +53,24 @@ public EndpointObjectMapper endpointObjectMapper() {
SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
.serializationInclusion(Include.NON_NULL)
.build();
- return () -> objectMapper;
+ Set> supportedTypes = new HashSet<>(EndpointObjectMapper.DEFAULT_SUPPORTED_TYPES);
+ if (ClassUtils.isPresent(CONTRIBUTED_HEALTH, null)) {
+ supportedTypes.add(ClassUtils.resolveClassName(CONTRIBUTED_HEALTH, null));
+ }
+ 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/endpoint/web/ServletEndpointManagementContextConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration.java
deleted file mode 100644
index 615a511bc675..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/ServletEndpointManagementContextConfiguration.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.endpoint.web;
-
-import org.glassfish.jersey.server.ResourceConfig;
-
-import org.springframework.boot.actuate.autoconfigure.endpoint.expose.IncludeExcludeEndpointFilter;
-import org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration;
-import org.springframework.boot.actuate.endpoint.EndpointAccessResolver;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
-import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath;
-import org.springframework.boot.autoconfigure.web.servlet.JerseyApplicationPath;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.DispatcherServlet;
-
-/**
- * {@link ManagementContextConfiguration @ManagementContextConfiguration} for servlet
- * endpoints.
- *
- * @author Phillip Webb
- * @author Andy Wilkinson
- * @author Madhura Bhave
- * @since 2.0.0
- */
-@ManagementContextConfiguration(proxyBeanMethods = false)
-@ConditionalOnWebApplication(type = Type.SERVLET)
-public class ServletEndpointManagementContextConfiguration {
-
- @Bean
- @SuppressWarnings("removal")
- public IncludeExcludeEndpointFilter servletExposeExcludePropertyEndpointFilter(
- WebEndpointProperties properties) {
- WebEndpointProperties.Exposure exposure = properties.getExposure();
- return new IncludeExcludeEndpointFilter<>(
- org.springframework.boot.actuate.endpoint.web.ExposableServletEndpoint.class, exposure.getInclude(),
- exposure.getExclude());
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnClass(DispatcherServlet.class)
- public static class WebMvcServletEndpointManagementContextConfiguration {
-
- @Bean
- @SuppressWarnings({ "deprecation", "removal" })
- public org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar servletEndpointRegistrar(
- WebEndpointProperties properties,
- org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier,
- DispatcherServletPath dispatcherServletPath, EndpointAccessResolver endpointAccessResolver) {
- return new org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar(
- dispatcherServletPath.getRelativePath(properties.getBasePath()),
- servletEndpointsSupplier.getEndpoints(), endpointAccessResolver);
- }
-
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnClass(ResourceConfig.class)
- @ConditionalOnMissingClass("org.springframework.web.servlet.DispatcherServlet")
- public static class JerseyServletEndpointManagementContextConfiguration {
-
- @Bean
- @SuppressWarnings({ "deprecation", "removal" })
- public org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar servletEndpointRegistrar(
- WebEndpointProperties properties,
- org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier servletEndpointsSupplier,
- JerseyApplicationPath jerseyApplicationPath, EndpointAccessResolver endpointAccessResolver) {
- return new org.springframework.boot.actuate.endpoint.web.ServletEndpointRegistrar(
- jerseyApplicationPath.getRelativePath(properties.getBasePath()),
- servletEndpointsSupplier.getEndpoints(), endpointAccessResolver);
- }
-
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/jersey/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/jersey/package-info.java
deleted file mode 100644
index 45674ea419f2..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/jersey/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for exposing actuator web endpoints using Jersey.
- */
-package org.springframework.boot.actuate.autoconfigure.endpoint.web.jersey;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/reactive/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/reactive/package-info.java
deleted file mode 100644
index dd5e148a8ced..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/reactive/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for exposing actuator web endpoints using WebFlux.
- */
-package org.springframework.boot.actuate.autoconfigure.endpoint.web.reactive;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/package-info.java
deleted file mode 100644
index fe2e3bf97f07..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/endpoint/web/servlet/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for exposing actuator web endpoints using Spring MVC.
- */
-package org.springframework.boot.actuate.autoconfigure.endpoint.web.servlet;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/flyway/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/flyway/package-info.java
deleted file mode 100644
index 7acdc0bc8988..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/flyway/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator Flyway concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.flyway;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/hazelcast/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/hazelcast/package-info.java
deleted file mode 100644
index e10706926b9a..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/hazelcast/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator Hazelcast concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.hazelcast;
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
deleted file mode 100644
index ad1a2a02ba96..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredHealthContributorRegistry.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.health;
-
-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.util.Assert;
-
-/**
- * An auto-configured {@link HealthContributorRegistry} that ensures registered indicators
- * do not clash with groups names.
- *
- * @author Phillip Webb
- */
-class AutoConfiguredHealthContributorRegistry extends DefaultHealthContributorRegistry {
-
- private final Collection groupNames;
-
- AutoConfiguredHealthContributorRegistry(Map contributors,
- Collection groupNames) {
- super(contributors);
- this.groupNames = groupNames;
- contributors.keySet().forEach(this::assertDoesNotClashWithGroup);
- }
-
- @Override
- public void registerContributor(String name, HealthContributor contributor) {
- assertDoesNotClashWithGroup(name);
- super.registerContributor(name, contributor);
- }
-
- private void assertDoesNotClashWithGroup(String name) {
- Assert.state(!this.groupNames.contains(name),
- () -> "HealthContributor with name \"" + name + "\" clashes with group");
- }
-
-}
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
deleted file mode 100644
index 463d7e00684a..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/AutoConfiguredReactiveHealthContributorRegistry.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.health;
-
-import java.util.Collection;
-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.util.Assert;
-
-/**
- * An auto-configured {@link HealthContributorRegistry} that ensures registered indicators
- * do not clash with groups names.
- *
- * @author Phillip Webb
- */
-class AutoConfiguredReactiveHealthContributorRegistry extends DefaultReactiveHealthContributorRegistry {
-
- private final Collection groupNames;
-
- AutoConfiguredReactiveHealthContributorRegistry(Map contributors,
- Collection groupNames) {
- super(contributors);
- this.groupNames = groupNames;
- contributors.keySet().forEach(this::assertDoesNotClashWithGroup);
- }
-
- @Override
- public void registerContributor(String name, ReactiveHealthContributor contributor) {
- assertDoesNotClashWithGroup(name);
- super.registerContributor(name, contributor);
- }
-
- private void assertDoesNotClashWithGroup(String name) {
- Assert.state(!this.groupNames.contains(name),
- () -> "ReactiveHealthContributor with name \"" + name + "\" clashes with group");
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/GroupsHealthContributorNameValidator.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/GroupsHealthContributorNameValidator.java
new file mode 100644
index 000000000000..ef6c05cbdb39
--- /dev/null
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/GroupsHealthContributorNameValidator.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2012-present 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.autoconfigure.health;
+
+import java.util.Collections;
+import java.util.Set;
+
+import org.springframework.boot.actuate.health.HealthEndpointGroups;
+import org.springframework.boot.health.registry.HealthContributorNameValidator;
+import org.springframework.util.Assert;
+
+/**
+ * {@link HealthContributorNameValidator} to ensure names don't clash with groups.
+ *
+ * @author Phillip Webb
+ */
+class GroupsHealthContributorNameValidator implements HealthContributorNameValidator {
+
+ private final Set groupNames;
+
+ GroupsHealthContributorNameValidator(HealthEndpointGroups groups) {
+ this.groupNames = (groups != null) ? groups.getNames() : Collections.emptySet();
+ }
+
+ @Override
+ public void validate(String name) throws IllegalStateException {
+ Assert.state(!this.groupNames.contains(name),
+ () -> "HealthContributor with name \"" + name + "\" clashes with group");
+ }
+
+}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java
index 88ec76e22f11..adf59f9d0e6b 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointAutoConfiguration.java
@@ -20,7 +20,10 @@
import org.springframework.boot.actuate.health.HealthEndpoint;
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.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.health.contributor.Health;
import org.springframework.context.annotation.Import;
/**
@@ -32,11 +35,14 @@
* @author Scott Frederick
* @since 2.0.0
*/
-@AutoConfiguration
+@AutoConfiguration(
+ afterName = "org.springframework.boot.health.autoconfigure.registry.HealthContributorRegistryAutoConfiguration")
+@ConditionalOnClass(Health.class)
+@ConditionalOnBean(type = "org.springframework.boot.health.registry.HealthContributorRegistry")
@ConditionalOnAvailableEndpoint(HealthEndpoint.class)
@EnableConfigurationProperties(HealthEndpointProperties.class)
-@Import({ HealthEndpointConfiguration.class, ReactiveHealthEndpointConfiguration.class,
- HealthEndpointWebExtensionConfiguration.class, HealthEndpointReactiveWebExtensionConfiguration.class })
+@Import({ HealthEndpointConfiguration.class, HealthEndpointWebExtensionConfiguration.class,
+ HealthEndpointReactiveWebExtensionConfiguration.class })
public class HealthEndpointAutoConfiguration {
}
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 3488eb283908..72e188e969c6 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
@@ -16,39 +16,26 @@
package org.springframework.boot.actuate.autoconfigure.health;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.Map;
import java.util.Set;
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.contributor.HealthContributors;
+import org.springframework.boot.health.registry.HealthContributorRegistry;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.util.ClassUtils;
import org.springframework.util.CollectionUtils;
/**
@@ -80,14 +67,9 @@ AutoConfiguredHealthEndpointGroups healthEndpointGroups(ApplicationContext appli
}
@Bean
- @ConditionalOnMissingBean
- HealthContributorRegistry healthContributorRegistry(ApplicationContext applicationContext,
- HealthEndpointGroups groups, Map healthContributors,
- Map reactiveHealthContributors) {
- if (ClassUtils.isPresent("reactor.core.publisher.Flux", applicationContext.getClassLoader())) {
- healthContributors.putAll(new AdaptedReactiveHealthContributors(reactiveHealthContributors).get());
- }
- return new AutoConfiguredHealthContributorRegistry(healthContributors, groups.getNames());
+ GroupsHealthContributorNameValidator groupsHealthContributorNameValidator(
+ ObjectProvider healthEndpointGroups) {
+ return new GroupsHealthContributorNameValidator(healthEndpointGroups.getIfAvailable());
}
@Bean
@@ -140,82 +122,6 @@ private Object applyPostProcessors(HealthEndpointGroups bean) {
}
- /**
- * Adapter to expose {@link ReactiveHealthContributor} beans as
- * {@link HealthContributor} instances.
- */
- private static class AdaptedReactiveHealthContributors {
-
- private final Map adapted;
-
- AdaptedReactiveHealthContributors(Map reactiveContributors) {
- Map adapted = new LinkedHashMap<>();
- reactiveContributors.forEach((name, contributor) -> adapted.put(name, adapt(contributor)));
- this.adapted = Collections.unmodifiableMap(adapted);
- }
-
- private HealthContributor adapt(ReactiveHealthContributor contributor) {
- if (contributor instanceof ReactiveHealthIndicator healthIndicator) {
- return adapt(healthIndicator);
- }
- if (contributor instanceof CompositeReactiveHealthContributor healthContributor) {
- return adapt(healthContributor);
- }
- throw new IllegalStateException("Unsupported ReactiveHealthContributor type " + contributor.getClass());
- }
-
- private HealthIndicator adapt(ReactiveHealthIndicator indicator) {
- return new HealthIndicator() {
-
- @Override
- public Health getHealth(boolean includeDetails) {
- return indicator.getHealth(includeDetails).block();
- }
-
- @Override
- public Health health() {
- return indicator.health().block();
- }
-
- };
- }
-
- private CompositeHealthContributor adapt(CompositeReactiveHealthContributor composite) {
- return new CompositeHealthContributor() {
-
- @Override
- public Iterator> iterator() {
- Iterator> iterator = composite.iterator();
- return new Iterator<>() {
-
- @Override
- public boolean hasNext() {
- return iterator.hasNext();
- }
-
- @Override
- public NamedContributor next() {
- NamedContributor next = iterator.next();
- return NamedContributor.of(next.getName(), adapt(next.getContributor()));
- }
-
- };
- }
-
- @Override
- public HealthContributor getContributor(String name) {
- return adapt(composite.getContributor(name));
- }
-
- };
- }
-
- Map get() {
- return this.adapted;
- }
-
- }
-
/**
* {@link SmartInitializingSingleton} that validates health endpoint group membership,
* throwing a {@link NoSuchHealthContributorException} if an included or excluded
@@ -264,10 +170,10 @@ private boolean contributorExists(String[] path) {
int pathOffset = 0;
Object contributor = this.registry;
while (pathOffset < path.length) {
- if (!(contributor instanceof NamedContributors)) {
+ if (!(contributor instanceof HealthContributors)) {
return false;
}
- contributor = ((NamedContributors>) contributor).getContributor(path[pathOffset]);
+ contributor = ((HealthContributors) contributor).getContributor(path[pathOffset]);
pathOffset++;
}
return (contributor != null);
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointReactiveWebExtensionConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointReactiveWebExtensionConfiguration.java
index 76b1458d79c5..d165acc25200 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointReactiveWebExtensionConfiguration.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointReactiveWebExtensionConfiguration.java
@@ -16,23 +16,16 @@
package org.springframework.boot.actuate.autoconfigure.health;
-import java.util.Collection;
-
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
import org.springframework.boot.actuate.autoconfigure.endpoint.expose.EndpointExposure;
-import org.springframework.boot.actuate.endpoint.web.EndpointMapping;
-import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint;
-import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier;
-import org.springframework.boot.actuate.endpoint.web.WebServerNamespace;
-import org.springframework.boot.actuate.endpoint.web.reactive.AdditionalHealthEndpointPathsWebFluxHandlerMapping;
import org.springframework.boot.actuate.health.HealthEndpoint;
import org.springframework.boot.actuate.health.HealthEndpointGroups;
-import org.springframework.boot.actuate.health.ReactiveHealthContributorRegistry;
import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
+import org.springframework.boot.health.registry.ReactiveHealthContributorRegistry;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -58,21 +51,4 @@ ReactiveHealthEndpointWebExtension reactiveHealthEndpointWebExtension(
properties.getLogging().getSlowIndicatorThreshold());
}
- @Configuration(proxyBeanMethods = false)
- static class WebFluxAdditionalHealthEndpointPathsConfiguration {
-
- @Bean
- AdditionalHealthEndpointPathsWebFluxHandlerMapping healthEndpointWebFluxHandlerMapping(
- WebEndpointsSupplier webEndpointsSupplier, HealthEndpointGroups groups) {
- Collection webEndpoints = webEndpointsSupplier.getEndpoints();
- ExposableWebEndpoint health = webEndpoints.stream()
- .filter((endpoint) -> endpoint.getEndpointId().equals(HealthEndpoint.ID))
- .findFirst()
- .orElse(null);
- return new AdditionalHealthEndpointPathsWebFluxHandlerMapping(new EndpointMapping(""), health,
- groups.getAllWithAdditionalPath(WebServerNamespace.SERVER));
- }
-
- }
-
}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointWebExtensionConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointWebExtensionConfiguration.java
index 799c1d193116..9b1dd0ca8ea3 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointWebExtensionConfiguration.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthEndpointWebExtensionConfiguration.java
@@ -16,43 +16,18 @@
package org.springframework.boot.actuate.autoconfigure.health;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Objects;
-
-import org.glassfish.jersey.server.ResourceConfig;
-import org.glassfish.jersey.server.model.Resource;
-import org.glassfish.jersey.servlet.ServletContainer;
-
-import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
import org.springframework.boot.actuate.autoconfigure.endpoint.expose.EndpointExposure;
-import org.springframework.boot.actuate.endpoint.web.EndpointMapping;
-import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint;
-import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier;
-import org.springframework.boot.actuate.endpoint.web.WebServerNamespace;
-import org.springframework.boot.actuate.endpoint.web.jersey.JerseyHealthEndpointAdditionalPathResourceFactory;
-import org.springframework.boot.actuate.endpoint.web.servlet.AdditionalHealthEndpointPathsWebMvcHandlerMapping;
-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.HealthEndpointWebExtension;
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.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
-import org.springframework.boot.autoconfigure.jersey.JerseyProperties;
-import org.springframework.boot.autoconfigure.jersey.ResourceConfigCustomizer;
-import org.springframework.boot.autoconfigure.web.servlet.DefaultJerseyApplicationPath;
-import org.springframework.boot.autoconfigure.web.servlet.JerseyApplicationPath;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.boot.health.registry.HealthContributorRegistry;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.DispatcherServlet;
/**
* Configuration for {@link HealthEndpoint} web extensions.
@@ -75,102 +50,4 @@ HealthEndpointWebExtension healthEndpointWebExtension(HealthContributorRegistry
properties.getLogging().getSlowIndicatorThreshold());
}
- private static ExposableWebEndpoint getHealthEndpoint(WebEndpointsSupplier webEndpointsSupplier) {
- Collection webEndpoints = webEndpointsSupplier.getEndpoints();
- return webEndpoints.stream()
- .filter((endpoint) -> endpoint.getEndpointId().equals(HealthEndpoint.ID))
- .findFirst()
- .orElse(null);
- }
-
- @ConditionalOnBean(DispatcherServlet.class)
- static class MvcAdditionalHealthEndpointPathsConfiguration {
-
- @Bean
- AdditionalHealthEndpointPathsWebMvcHandlerMapping healthEndpointWebMvcHandlerMapping(
- WebEndpointsSupplier webEndpointsSupplier, HealthEndpointGroups groups) {
- ExposableWebEndpoint health = getHealthEndpoint(webEndpointsSupplier);
- return new AdditionalHealthEndpointPathsWebMvcHandlerMapping(health,
- groups.getAllWithAdditionalPath(WebServerNamespace.SERVER));
- }
-
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnClass(ResourceConfig.class)
- @ConditionalOnMissingClass("org.springframework.web.servlet.DispatcherServlet")
- static class JerseyAdditionalHealthEndpointPathsConfiguration {
-
- @Bean
- JerseyAdditionalHealthEndpointPathsResourcesRegistrar jerseyAdditionalHealthEndpointPathsResourcesRegistrar(
- WebEndpointsSupplier webEndpointsSupplier, HealthEndpointGroups healthEndpointGroups) {
- ExposableWebEndpoint health = getHealthEndpoint(webEndpointsSupplier);
- return new JerseyAdditionalHealthEndpointPathsResourcesRegistrar(health, healthEndpointGroups);
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnMissingBean(ResourceConfig.class)
- @EnableConfigurationProperties(JerseyProperties.class)
- static class JerseyInfrastructureConfiguration {
-
- @Bean
- @ConditionalOnMissingBean
- JerseyApplicationPath jerseyApplicationPath(JerseyProperties properties, ResourceConfig config) {
- return new DefaultJerseyApplicationPath(properties.getApplicationPath(), config);
- }
-
- @Bean
- ResourceConfig resourceConfig(ObjectProvider resourceConfigCustomizers) {
- ResourceConfig resourceConfig = new ResourceConfig();
- resourceConfigCustomizers.orderedStream().forEach((customizer) -> customizer.customize(resourceConfig));
- return resourceConfig;
- }
-
- @Bean
- ServletRegistrationBean jerseyServletRegistration(
- JerseyApplicationPath jerseyApplicationPath, ResourceConfig resourceConfig) {
- return new ServletRegistrationBean<>(new ServletContainer(resourceConfig),
- jerseyApplicationPath.getUrlMapping());
- }
-
- }
-
- }
-
- static class JerseyAdditionalHealthEndpointPathsResourcesRegistrar implements ResourceConfigCustomizer {
-
- private final ExposableWebEndpoint endpoint;
-
- private final HealthEndpointGroups groups;
-
- JerseyAdditionalHealthEndpointPathsResourcesRegistrar(ExposableWebEndpoint endpoint,
- HealthEndpointGroups groups) {
- this.endpoint = endpoint;
- this.groups = groups;
- }
-
- @Override
- public void customize(ResourceConfig config) {
- register(config);
- }
-
- private void register(ResourceConfig config) {
- EndpointMapping mapping = new EndpointMapping("");
- JerseyHealthEndpointAdditionalPathResourceFactory resourceFactory = new JerseyHealthEndpointAdditionalPathResourceFactory(
- WebServerNamespace.SERVER, this.groups);
- Collection endpointResources = resourceFactory
- .createEndpointResources(mapping,
- (this.endpoint != null) ? Collections.singletonList(this.endpoint) : Collections.emptyList())
- .stream()
- .filter(Objects::nonNull)
- .toList();
- register(endpointResources, config);
- }
-
- private void register(Collection resources, ResourceConfig config) {
- config.registerResources(new HashSet<>(resources));
- }
-
- }
-
}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/OnEnabledHealthIndicatorCondition.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/OnEnabledHealthIndicatorCondition.java
deleted file mode 100644
index 308f620e4f9e..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/OnEnabledHealthIndicatorCondition.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.health;
-
-import org.springframework.boot.actuate.autoconfigure.OnEndpointElementCondition;
-import org.springframework.context.annotation.Condition;
-
-/**
- * {@link Condition} that checks if a health indicator is enabled.
- *
- * @author Stephane Nicoll
- */
-class OnEnabledHealthIndicatorCondition extends OnEndpointElementCondition {
-
- OnEnabledHealthIndicatorCondition() {
- super("management.health.", ConditionalOnEnabledHealthIndicator.class);
- }
-
-}
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
deleted file mode 100644
index 1c1fbffb5a55..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/ReactiveHealthEndpointConfiguration.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.health;
-
-import java.util.LinkedHashMap;
-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.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * Configuration for reactive {@link HealthEndpoint} infrastructure beans.
- *
- * @author Phillip Webb
- * @see HealthEndpointAutoConfiguration
- */
-@Configuration(proxyBeanMethods = false)
-@ConditionalOnClass(Flux.class)
-@ConditionalOnBean(HealthEndpoint.class)
-class ReactiveHealthEndpointConfiguration {
-
- @Bean
- @ConditionalOnMissingBean
- ReactiveHealthContributorRegistry reactiveHealthContributorRegistry(
- Map healthContributors,
- Map reactiveHealthContributors, HealthEndpointGroups groups) {
- Map allContributors = new LinkedHashMap<>(reactiveHealthContributors);
- healthContributors.forEach((name, contributor) -> allContributors.computeIfAbsent(name,
- (key) -> ReactiveHealthContributor.adapt(contributor)));
- return new AutoConfiguredReactiveHealthContributorRegistry(allContributors, groups.getNames());
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java
index 4c41b459250f..16f8a7841f01 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/info/InfoContributorAutoConfiguration.java
@@ -16,7 +16,6 @@
package org.springframework.boot.actuate.autoconfigure.info;
-import org.springframework.boot.actuate.autoconfigure.ssl.SslHealthIndicatorProperties;
import org.springframework.boot.actuate.info.BuildInfoContributor;
import org.springframework.boot.actuate.info.EnvironmentInfoContributor;
import org.springframework.boot.actuate.info.GitInfoContributor;
@@ -50,7 +49,7 @@
* @since 2.0.0
*/
@AutoConfiguration(after = ProjectInfoAutoConfiguration.class)
-@EnableConfigurationProperties({ InfoContributorProperties.class, SslHealthIndicatorProperties.class })
+@EnableConfigurationProperties(InfoContributorProperties.class)
public class InfoContributorAutoConfiguration {
/**
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/package-info.java
deleted file mode 100644
index 49b258993242..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/integration/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator Spring Integration concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.integration;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/package-info.java
deleted file mode 100644
index 763dee2d446c..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator JDBC concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.jdbc;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java
deleted file mode 100644
index 675dc2ff0fbc..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthContributorAutoConfiguration.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.jms;
-
-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.actuate.jms.JmsHealthIndicator;
-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.autoconfigure.jms.activemq.ActiveMQAutoConfiguration;
-import org.springframework.boot.autoconfigure.jms.artemis.ArtemisAutoConfiguration;
-import org.springframework.context.annotation.Bean;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for {@link JmsHealthIndicator}.
- *
- * @author Stephane Nicoll
- * @since 2.0.0
- */
-@AutoConfiguration(after = { ActiveMQAutoConfiguration.class, ArtemisAutoConfiguration.class })
-@ConditionalOnClass(ConnectionFactory.class)
-@ConditionalOnBean(ConnectionFactory.class)
-@ConditionalOnEnabledHealthIndicator("jms")
-public class JmsHealthContributorAutoConfiguration
- extends CompositeHealthContributorConfiguration {
-
- public JmsHealthContributorAutoConfiguration() {
- super(JmsHealthIndicator::new);
- }
-
- @Bean
- @ConditionalOnMissingBean(name = { "jmsHealthIndicator", "jmsHealthContributor" })
- public HealthContributor jmsHealthContributor(ConfigurableListableBeanFactory beanFactory) {
- return createContributor(beanFactory, ConnectionFactory.class);
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/package-info.java
deleted file mode 100644
index 60147502a5e1..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator JMS concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.jms;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ldap/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ldap/package-info.java
deleted file mode 100644
index 66d471f2fc50..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/ldap/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator LDAP concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.ldap;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/package-info.java
deleted file mode 100644
index 4104bb7aa22a..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/liquibase/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator Liquibase concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.liquibase;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/OpenTelemetryLoggingAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/OpenTelemetryLoggingAutoConfiguration.java
deleted file mode 100644
index 496e8c1a92a7..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/OpenTelemetryLoggingAutoConfiguration.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.logging;
-
-import io.opentelemetry.api.OpenTelemetry;
-import io.opentelemetry.sdk.logs.LogRecordProcessor;
-import io.opentelemetry.sdk.logs.SdkLoggerProvider;
-import io.opentelemetry.sdk.logs.SdkLoggerProviderBuilder;
-import io.opentelemetry.sdk.logs.export.BatchLogRecordProcessor;
-import io.opentelemetry.sdk.logs.export.LogRecordExporter;
-import io.opentelemetry.sdk.resources.Resource;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.context.annotation.Bean;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for OpenTelemetry logging.
- *
- * @author Toshiaki Maki
- * @since 3.4.0
- */
-@AutoConfiguration
-@ConditionalOnClass({ SdkLoggerProvider.class, OpenTelemetry.class })
-public class OpenTelemetryLoggingAutoConfiguration {
-
- @Bean
- @ConditionalOnMissingBean
- BatchLogRecordProcessor batchLogRecordProcessor(ObjectProvider logRecordExporters) {
- return BatchLogRecordProcessor.builder(LogRecordExporter.composite(logRecordExporters.orderedStream().toList()))
- .build();
- }
-
- @Bean
- @ConditionalOnMissingBean
- SdkLoggerProvider otelSdkLoggerProvider(Resource resource, ObjectProvider logRecordProcessors,
- ObjectProvider customizers) {
- SdkLoggerProviderBuilder builder = SdkLoggerProvider.builder().setResource(resource);
- logRecordProcessors.orderedStream().forEach(builder::addLogRecordProcessor);
- customizers.orderedStream().forEach((customizer) -> customizer.customize(builder));
- return builder.build();
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingAutoConfiguration.java
deleted file mode 100644
index 75664310499f..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingAutoConfiguration.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.logging.otlp;
-
-import io.opentelemetry.api.OpenTelemetry;
-import io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporter;
-import io.opentelemetry.sdk.logs.SdkLoggerProvider;
-
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Import;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for OTLP logging.
- *
- * @author Toshiaki Maki
- * @since 3.4.0
- */
-@AutoConfiguration
-@ConditionalOnClass({ SdkLoggerProvider.class, OpenTelemetry.class, OtlpHttpLogRecordExporter.class })
-@EnableConfigurationProperties(OtlpLoggingProperties.class)
-@Import({ OtlpLoggingConfigurations.ConnectionDetails.class, OtlpLoggingConfigurations.Exporters.class })
-public class OtlpLoggingAutoConfiguration {
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingConfigurations.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingConfigurations.java
deleted file mode 100644
index 78062b101bf8..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingConfigurations.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.logging.otlp;
-
-import java.util.Locale;
-
-import io.opentelemetry.api.metrics.MeterProvider;
-import io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporter;
-import io.opentelemetry.exporter.otlp.http.logs.OtlpHttpLogRecordExporterBuilder;
-import io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporter;
-import io.opentelemetry.exporter.otlp.logs.OtlpGrpcLogRecordExporterBuilder;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.actuate.autoconfigure.logging.ConditionalOnEnabledLoggingExport;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.util.Assert;
-
-/**
- * Configurations imported by {@link OtlpLoggingAutoConfiguration}.
- *
- * @author Toshiaki Maki
- */
-final class OtlpLoggingConfigurations {
-
- @Configuration(proxyBeanMethods = false)
- static class ConnectionDetails {
-
- @Bean
- @ConditionalOnMissingBean
- @ConditionalOnProperty("management.otlp.logging.endpoint")
- OtlpLoggingConnectionDetails otlpLoggingConnectionDetails(OtlpLoggingProperties properties) {
- return new PropertiesOtlpLoggingConnectionDetails(properties);
- }
-
- /**
- * Adapts {@link OtlpLoggingProperties} to {@link OtlpLoggingConnectionDetails}.
- */
- static class PropertiesOtlpLoggingConnectionDetails implements OtlpLoggingConnectionDetails {
-
- private final OtlpLoggingProperties properties;
-
- PropertiesOtlpLoggingConnectionDetails(OtlpLoggingProperties properties) {
- this.properties = properties;
- }
-
- @Override
- public String getUrl(Transport transport) {
- Assert.state(transport == this.properties.getTransport(),
- "Requested transport %s doesn't match configured transport %s".formatted(transport,
- this.properties.getTransport()));
- return this.properties.getEndpoint();
- }
-
- }
-
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnMissingBean({ OtlpGrpcLogRecordExporter.class, OtlpHttpLogRecordExporter.class })
- @ConditionalOnBean(OtlpLoggingConnectionDetails.class)
- @ConditionalOnEnabledLoggingExport("otlp")
- static class Exporters {
-
- @Bean
- @ConditionalOnProperty(name = "management.otlp.logging.transport", havingValue = "http", matchIfMissing = true)
- OtlpHttpLogRecordExporter otlpHttpLogRecordExporter(OtlpLoggingProperties properties,
- OtlpLoggingConnectionDetails connectionDetails, ObjectProvider meterProvider) {
- OtlpHttpLogRecordExporterBuilder builder = OtlpHttpLogRecordExporter.builder()
- .setEndpoint(connectionDetails.getUrl(Transport.HTTP))
- .setTimeout(properties.getTimeout())
- .setConnectTimeout(properties.getConnectTimeout())
- .setCompression(properties.getCompression().name().toLowerCase(Locale.US));
- properties.getHeaders().forEach(builder::addHeader);
- meterProvider.ifAvailable(builder::setMeterProvider);
- return builder.build();
- }
-
- @Bean
- @ConditionalOnProperty(name = "management.otlp.logging.transport", havingValue = "grpc")
- OtlpGrpcLogRecordExporter otlpGrpcLogRecordExporter(OtlpLoggingProperties properties,
- OtlpLoggingConnectionDetails connectionDetails, ObjectProvider meterProvider) {
- OtlpGrpcLogRecordExporterBuilder builder = OtlpGrpcLogRecordExporter.builder()
- .setEndpoint(connectionDetails.getUrl(Transport.GRPC))
- .setTimeout(properties.getTimeout())
- .setConnectTimeout(properties.getConnectTimeout())
- .setCompression(properties.getCompression().name().toLowerCase(Locale.US));
- properties.getHeaders().forEach(builder::addHeader);
- meterProvider.ifAvailable(builder::setMeterProvider);
- return builder.build();
- }
-
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingConnectionDetails.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingConnectionDetails.java
deleted file mode 100644
index ef6aff95e2c3..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingConnectionDetails.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.logging.otlp;
-
-import org.springframework.boot.autoconfigure.service.connection.ConnectionDetails;
-
-/**
- * Details required to establish a connection to an OpenTelemetry logging service.
- *
- * @author Toshiaki Maki
- * @since 3.4.0
- */
-public interface OtlpLoggingConnectionDetails extends ConnectionDetails {
-
- /**
- * Address to where logs will be published.
- * @param transport the transport to use
- * @return the address to where logs will be published
- */
- String getUrl(Transport transport);
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingProperties.java
deleted file mode 100644
index 56bec05324c6..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/OtlpLoggingProperties.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.logging.otlp;
-
-import java.time.Duration;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * Configuration properties for exporting logs using OTLP.
- *
- * @author Jonatan Ivanov
- * @since 3.4.0
- */
-@ConfigurationProperties("management.otlp.logging")
-public class OtlpLoggingProperties {
-
- /**
- * URL to the OTel collector's HTTP API.
- */
- private String endpoint;
-
- /**
- * Call timeout for the OTel Collector to process an exported batch of data. This
- * timeout spans the entire call: resolving DNS, connecting, writing the request body,
- * server processing, and reading the response body. If the call requires redirects or
- * retries all must complete within one timeout period.
- */
- private Duration timeout = Duration.ofSeconds(10);
-
- /**
- * Connect timeout for the OTel collector connection.
- */
- private Duration connectTimeout = Duration.ofSeconds(10);
-
- /**
- * Transport used to send the logs.
- */
- private Transport transport = Transport.HTTP;
-
- /**
- * Method used to compress the payload.
- */
- private Compression compression = Compression.NONE;
-
- /**
- * Custom HTTP headers you want to pass to the collector, for example auth headers.
- */
- private final Map headers = new HashMap<>();
-
- public String getEndpoint() {
- return this.endpoint;
- }
-
- public void setEndpoint(String endpoint) {
- this.endpoint = endpoint;
- }
-
- public Duration getTimeout() {
- return this.timeout;
- }
-
- public void setTimeout(Duration timeout) {
- this.timeout = timeout;
- }
-
- public Duration getConnectTimeout() {
- return this.connectTimeout;
- }
-
- public void setConnectTimeout(Duration connectTimeout) {
- this.connectTimeout = connectTimeout;
- }
-
- public Transport getTransport() {
- return this.transport;
- }
-
- public void setTransport(Transport transport) {
- this.transport = transport;
- }
-
- public Compression getCompression() {
- return this.compression;
- }
-
- public void setCompression(Compression compression) {
- this.compression = compression;
- }
-
- public Map getHeaders() {
- return this.headers;
- }
-
- public enum Compression {
-
- /**
- * Gzip compression.
- */
- GZIP,
-
- /**
- * No compression.
- */
- NONE
-
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/Transport.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/Transport.java
deleted file mode 100644
index 67e41e69a712..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/Transport.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.logging.otlp;
-
-/**
- * Transport used to send OTLP data.
- *
- * @author Moritz Halbritter
- * @since 3.4.0
- */
-public enum Transport {
-
- /**
- * HTTP transport.
- */
- HTTP,
-
- /**
- * gRPC transport.
- */
- GRPC
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/package-info.java
deleted file mode 100644
index 6a6696dd10c7..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/logging/otlp/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for exporting logs with OTLP.
- */
-package org.springframework.boot.actuate.autoconfigure.logging.otlp;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/package-info.java
deleted file mode 100644
index 8bca08d48e5f..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator JavaMail concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.mail;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/AutoTimeProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/AutoTimeProperties.java
deleted file mode 100644
index a12615400ed9..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/AutoTimeProperties.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.metrics;
-
-/**
- * Nested configuration properties for items that are automatically timed.
- *
- * @author Tadaya Tsuyukubo
- * @author Stephane Nicoll
- * @author Phillip Webb
- * @since 2.2.0
- */
-public final class AutoTimeProperties {
-
- /**
- * Whether to enable auto-timing.
- */
- private boolean enabled = true;
-
- /**
- * Whether to publish percentile histograms.
- */
- private boolean percentilesHistogram;
-
- /**
- * Percentiles for which additional time series should be published.
- */
- private double[] percentiles;
-
- /**
- * Create an instance that automatically time requests with no percentiles.
- */
- public AutoTimeProperties() {
- }
-
- public boolean isEnabled() {
- return this.enabled;
- }
-
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
-
- public boolean isPercentilesHistogram() {
- return this.percentilesHistogram;
- }
-
- public void setPercentilesHistogram(boolean percentilesHistogram) {
- this.percentilesHistogram = percentilesHistogram;
- }
-
- public double[] getPercentiles() {
- return this.percentiles;
- }
-
- public void setPercentiles(double[] percentiles) {
- this.percentiles = percentiles;
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/package-info.java
deleted file mode 100644
index 3c6fcc2be718..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/amqp/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for RabbitMQ metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.amqp;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/CacheMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/CacheMetricsAutoConfiguration.java
deleted file mode 100644
index f6c5d0f662a3..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/CacheMetricsAutoConfiguration.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.metrics.cache;
-
-import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.cache.Cache;
-import org.springframework.cache.CacheManager;
-import org.springframework.context.annotation.Import;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for metrics on all available
- * {@link Cache caches}.
- *
- * @author Stephane Nicoll
- * @since 2.0.0
- */
-@AutoConfiguration(after = { MetricsAutoConfiguration.class, CacheAutoConfiguration.class })
-@ConditionalOnBean(CacheManager.class)
-@Import({ CacheMeterBinderProvidersConfiguration.class, CacheMetricsRegistrarConfiguration.class })
-public class CacheMetricsAutoConfiguration {
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/package-info.java
deleted file mode 100644
index 1fd8ab3e22cc..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/cache/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for cache metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.cache;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java
deleted file mode 100644
index 1d9936cd142c..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/RepositoryMetricsAutoConfiguration.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.metrics.data;
-
-import io.micrometer.core.instrument.MeterRegistry;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
-import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
-import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties;
-import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Data.Repository;
-import org.springframework.boot.actuate.autoconfigure.metrics.PropertiesAutoTimer;
-import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
-import org.springframework.boot.actuate.metrics.data.DefaultRepositoryTagsProvider;
-import org.springframework.boot.actuate.metrics.data.MetricsRepositoryMethodInvocationListener;
-import org.springframework.boot.actuate.metrics.data.RepositoryTagsProvider;
-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.context.annotation.Bean;
-import org.springframework.util.function.SingletonSupplier;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for Spring Data Repository metrics.
- *
- * @author Phillip Webb
- * @since 2.5.0
- */
-@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class,
- SimpleMetricsExportAutoConfiguration.class })
-@ConditionalOnClass(org.springframework.data.repository.Repository.class)
-@ConditionalOnBean(MeterRegistry.class)
-@EnableConfigurationProperties(MetricsProperties.class)
-public class RepositoryMetricsAutoConfiguration {
-
- private final MetricsProperties properties;
-
- public RepositoryMetricsAutoConfiguration(MetricsProperties properties) {
- this.properties = properties;
- }
-
- @Bean
- @ConditionalOnMissingBean(RepositoryTagsProvider.class)
- public DefaultRepositoryTagsProvider repositoryTagsProvider() {
- return new DefaultRepositoryTagsProvider();
- }
-
- @Bean
- @ConditionalOnMissingBean
- public MetricsRepositoryMethodInvocationListener metricsRepositoryMethodInvocationListener(
- ObjectProvider registry, RepositoryTagsProvider tagsProvider) {
- Repository properties = this.properties.getData().getRepository();
- return new MetricsRepositoryMethodInvocationListener(registry::getObject, tagsProvider,
- properties.getMetricName(), new PropertiesAutoTimer(properties.getAutotime()));
- }
-
- @Bean
- public static MetricsRepositoryMethodInvocationListenerBeanPostProcessor metricsRepositoryMethodInvocationListenerBeanPostProcessor(
- ObjectProvider metricsRepositoryMethodInvocationListener) {
- return new MetricsRepositoryMethodInvocationListenerBeanPostProcessor(
- SingletonSupplier.of(metricsRepositoryMethodInvocationListener::getObject));
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/package-info.java
deleted file mode 100644
index e6a041cb4389..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/data/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Spring Data actuator metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.data;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/package-info.java
deleted file mode 100644
index b5f2dc4eb5a7..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to AppOptics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.appoptics;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/package-info.java
deleted file mode 100644
index 6739718622f3..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/atlas/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to Atlas.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.atlas;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/package-info.java
deleted file mode 100644
index d372c3211918..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to Datadog.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.datadog;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/package-info.java
deleted file mode 100644
index 0d4b10be442d..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to Dynatrace.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.dynatrace;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/package-info.java
deleted file mode 100644
index de34b9fbe6aa..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to Elastic.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.elastic;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/package-info.java
deleted file mode 100644
index 5048c3f71765..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/ganglia/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to Ganglia.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.ganglia;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/package-info.java
deleted file mode 100644
index a7a2afe69872..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/graphite/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to Graphite.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.graphite;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/package-info.java
deleted file mode 100644
index 9d36d9df55bb..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to Humio.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.humio;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/package-info.java
deleted file mode 100644
index ef1ee9c35218..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to InfluxDB.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.influx;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/package-info.java
deleted file mode 100644
index b00a39303b36..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/jmx/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to JMX.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.jmx;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/package-info.java
deleted file mode 100644
index 339db02c7e64..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to KairosDB.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.kairos;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/package-info.java
deleted file mode 100644
index 698c59e89e67..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to New Relic.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.newrelic;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/package-info.java
deleted file mode 100644
index d4c7dba03c04..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/otlp/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to OTLP.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.otlp;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/package-info.java
deleted file mode 100644
index a6bf7ff936d3..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for metrics exporter.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/package-info.java
deleted file mode 100644
index 21161cbebd96..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to Prometheus.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.prometheus;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/properties/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/properties/package-info.java
deleted file mode 100644
index aae56789286c..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/properties/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Base properties and adapters used when exporting actuator metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.properties;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxMetricsExportAutoConfiguration.java
deleted file mode 100644
index 141accbea542..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxMetricsExportAutoConfiguration.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.metrics.export.signalfx;
-
-import io.micrometer.core.instrument.Clock;
-import io.micrometer.signalfx.SignalFxConfig;
-import io.micrometer.signalfx.SignalFxMeterRegistry;
-
-import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
-import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
-import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport;
-import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
-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.context.annotation.Bean;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to SignalFX.
- *
- * @author Jon Schneider
- * @author Andy Wilkinson
- * @since 2.0.0
- * @deprecated since 3.5.0 for removal in 4.0.0
- */
-@AutoConfiguration(
- before = { CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class },
- after = MetricsAutoConfiguration.class)
-@ConditionalOnBean(Clock.class)
-@ConditionalOnClass(SignalFxMeterRegistry.class)
-@ConditionalOnEnabledMetricsExport("signalfx")
-@EnableConfigurationProperties(SignalFxProperties.class)
-@Deprecated(since = "3.5.0", forRemoval = true)
-@SuppressWarnings("removal")
-public class SignalFxMetricsExportAutoConfiguration {
-
- @Bean
- @ConditionalOnMissingBean
- public SignalFxConfig signalfxConfig(SignalFxProperties props) {
- return new SignalFxPropertiesConfigAdapter(props);
- }
-
- @Bean
- @ConditionalOnMissingBean
- public SignalFxMeterRegistry signalFxMeterRegistry(SignalFxConfig config, Clock clock) {
- return new SignalFxMeterRegistry(config, clock);
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxProperties.java
deleted file mode 100644
index 58054919687a..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxProperties.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.metrics.export.signalfx;
-
-import java.time.Duration;
-
-import org.springframework.boot.actuate.autoconfigure.metrics.export.properties.StepRegistryProperties;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.context.properties.DeprecatedConfigurationProperty;
-
-/**
- * {@link ConfigurationProperties @ConfigurationProperties} for configuring metrics export
- * to SignalFX.
- *
- * @author Jon Schneider
- * @author Andy Wilkinson
- * @author Stephane Nicoll
- * @since 2.0.0
- * @deprecated since 3.5.0 for removal in 4.0.0
- */
-@ConfigurationProperties("management.signalfx.metrics.export")
-@Deprecated(since = "3.5.0", forRemoval = true)
-public class SignalFxProperties extends StepRegistryProperties {
-
- /**
- * Step size (i.e. reporting frequency) to use.
- */
- private Duration step = Duration.ofSeconds(10);
-
- /**
- * SignalFX access token.
- */
- private String accessToken;
-
- /**
- * URI to ship metrics to.
- */
- private String uri = "https://ingest.signalfx.com";
-
- /**
- * Uniquely identifies the app instance that is publishing metrics to SignalFx.
- * Defaults to the local host name.
- */
- private String source;
-
- /**
- * Type of histogram to publish.
- */
- private HistogramType publishedHistogramType = HistogramType.DEFAULT;
-
- @Override
- @DeprecatedConfigurationProperty(since = "3.5.0", reason = "Deprecated in Micrometer 1.15.0")
- @Deprecated(since = "3.5.0", forRemoval = true)
- public Duration getStep() {
- return this.step;
- }
-
- @Override
- @Deprecated(since = "3.5.0", forRemoval = true)
- public void setStep(Duration step) {
- this.step = step;
- }
-
- @DeprecatedConfigurationProperty(since = "3.5.0", reason = "Deprecated in Micrometer 1.15.0")
- @Deprecated(since = "3.5.0", forRemoval = true)
- public String getAccessToken() {
- return this.accessToken;
- }
-
- @Deprecated(since = "3.5.0", forRemoval = true)
- public void setAccessToken(String accessToken) {
- this.accessToken = accessToken;
- }
-
- @DeprecatedConfigurationProperty(since = "3.5.0", reason = "Deprecated in Micrometer 1.15.0")
- @Deprecated(since = "3.5.0", forRemoval = true)
- public String getUri() {
- return this.uri;
- }
-
- @Deprecated(since = "3.5.0", forRemoval = true)
- public void setUri(String uri) {
- this.uri = uri;
- }
-
- @DeprecatedConfigurationProperty(since = "3.5.0", reason = "Deprecated in Micrometer 1.15.0")
- @Deprecated(since = "3.5.0", forRemoval = true)
- public String getSource() {
- return this.source;
- }
-
- @Deprecated(since = "3.5.0", forRemoval = true)
- public void setSource(String source) {
- this.source = source;
- }
-
- @DeprecatedConfigurationProperty(since = "3.5.0", reason = "Deprecated in Micrometer 1.15.0")
- @Deprecated(since = "3.5.0", forRemoval = true)
- public HistogramType getPublishedHistogramType() {
- return this.publishedHistogramType;
- }
-
- @Deprecated(since = "3.5.0", forRemoval = true)
- public void setPublishedHistogramType(HistogramType publishedHistogramType) {
- this.publishedHistogramType = publishedHistogramType;
- }
-
- @Override
- @DeprecatedConfigurationProperty(since = "3.5.0", reason = "Deprecated in Micrometer 1.15.0")
- @Deprecated(since = "3.5.0", forRemoval = true)
- public boolean isEnabled() {
- return super.isEnabled();
- }
-
- @Override
- @Deprecated(since = "3.5.0", forRemoval = true)
- public void setEnabled(boolean enabled) {
- super.setEnabled(enabled);
- }
-
- @Override
- @DeprecatedConfigurationProperty(since = "3.5.0", reason = "Deprecated in Micrometer 1.15.0")
- @Deprecated(since = "3.5.0", forRemoval = true)
- public Duration getConnectTimeout() {
- return super.getConnectTimeout();
- }
-
- @Override
- @Deprecated(since = "3.5.0", forRemoval = true)
- public void setConnectTimeout(Duration connectTimeout) {
- super.setConnectTimeout(connectTimeout);
- }
-
- @Override
- @DeprecatedConfigurationProperty(since = "3.5.0", reason = "Deprecated in Micrometer 1.15.0")
- @Deprecated(since = "3.5.0", forRemoval = true)
- public Duration getReadTimeout() {
- return super.getReadTimeout();
- }
-
- @Override
- @Deprecated(since = "3.5.0", forRemoval = true)
- public void setReadTimeout(Duration readTimeout) {
- super.setReadTimeout(readTimeout);
- }
-
- @Override
- @DeprecatedConfigurationProperty(since = "3.5.0", reason = "Deprecated in Micrometer 1.15.0")
- @Deprecated(since = "3.5.0", forRemoval = true)
- public Integer getBatchSize() {
- return super.getBatchSize();
- }
-
- @Override
- @Deprecated(since = "3.5.0", forRemoval = true)
- public void setBatchSize(Integer batchSize) {
- super.setBatchSize(batchSize);
- }
-
- @Deprecated(since = "3.5.0", forRemoval = true)
- public enum HistogramType {
-
- /**
- * Default, time-based histogram.
- */
- DEFAULT,
-
- /**
- * Cumulative histogram.
- */
- CUMULATIVE,
-
- /**
- * Delta histogram.
- */
- DELTA
-
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxPropertiesConfigAdapter.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxPropertiesConfigAdapter.java
deleted file mode 100644
index 11ffa9e07211..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/SignalFxPropertiesConfigAdapter.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.metrics.export.signalfx;
-
-import io.micrometer.signalfx.SignalFxConfig;
-
-import org.springframework.boot.actuate.autoconfigure.metrics.export.properties.StepRegistryPropertiesConfigAdapter;
-
-/**
- * Adapter to convert {@link SignalFxProperties} to a {@link SignalFxConfig}.
- *
- * @author Jon Schneider
- * @since 2.0.0
- * @deprecated since 3.5.0 for removal in 4.0.0
- */
-@Deprecated(since = "3.5.0", forRemoval = true)
-@SuppressWarnings("removal")
-public class SignalFxPropertiesConfigAdapter extends StepRegistryPropertiesConfigAdapter
- implements SignalFxConfig {
-
- public SignalFxPropertiesConfigAdapter(SignalFxProperties properties) {
- super(properties);
- accessToken(); // validate that an access token is set
- }
-
- @Override
- public String prefix() {
- return "management.signalfx.metrics.export";
- }
-
- @Override
- public String accessToken() {
- return get(SignalFxProperties::getAccessToken, SignalFxConfig.super::accessToken);
- }
-
- @Override
- public String uri() {
- return get(SignalFxProperties::getUri, SignalFxConfig.super::uri);
- }
-
- @Override
- public String source() {
- return get(SignalFxProperties::getSource, SignalFxConfig.super::source);
- }
-
- @Override
- public boolean publishCumulativeHistogram() {
- return get(this::isPublishCumulativeHistogram, SignalFxConfig.super::publishCumulativeHistogram);
- }
-
- private boolean isPublishCumulativeHistogram(SignalFxProperties properties) {
- return SignalFxProperties.HistogramType.CUMULATIVE == properties.getPublishedHistogramType();
- }
-
- @Override
- public boolean publishDeltaHistogram() {
- return get(this::isPublishDeltaHistogram, SignalFxConfig.super::publishDeltaHistogram);
- }
-
- private boolean isPublishDeltaHistogram(SignalFxProperties properties) {
- return SignalFxProperties.HistogramType.DELTA == properties.getPublishedHistogramType();
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/package-info.java
deleted file mode 100644
index b295fd6d21f5..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/signalfx/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to SignalFX.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.signalfx;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/package-info.java
deleted file mode 100644
index c6583b9e318e..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/simple/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to a simple in-memory store.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.simple;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/stackdriver/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/stackdriver/package-info.java
deleted file mode 100644
index e5c6b7dadc5c..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/stackdriver/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to Stackdriver.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/package-info.java
deleted file mode 100644
index 6c6892fc590f..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/statsd/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Support for exporting actuator metrics to StatsD.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.export.statsd;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/IntegrationMetricsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/IntegrationMetricsAutoConfiguration.java
deleted file mode 100644
index c4b074d6dddf..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/IntegrationMetricsAutoConfiguration.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.metrics.integration;
-
-import io.micrometer.core.instrument.MeterRegistry;
-
-import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
-import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.integration.IntegrationAutoConfiguration;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for Spring Integration's metrics.
- * Orders auto-configuration classes to ensure that the {@link MeterRegistry} bean has
- * been defined before Spring Integration's Micrometer support queries the bean factory
- * for it.
- *
- * @author Andy Wilkinson
- */
-@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class },
- before = IntegrationAutoConfiguration.class)
-class IntegrationMetricsAutoConfiguration {
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/package-info.java
deleted file mode 100644
index 57965e5954ad..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/integration/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Spring Integration metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.integration;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/package-info.java
deleted file mode 100644
index 2344f7d02c54..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jdbc/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for JPA metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.jdbc;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/package-info.java
deleted file mode 100644
index 8ff53fca4d27..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/jersey/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Jersey actuator metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.jersey;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/package-info.java
deleted file mode 100644
index 4253e5340375..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/mongo/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Mongo metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.mongo;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/orm/jpa/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/orm/jpa/package-info.java
deleted file mode 100644
index 078b31181514..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/orm/jpa/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for JPA metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/package-info.java
deleted file mode 100644
index 4416185b6279..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator metrics and Micrometer.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/r2dbc/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/r2dbc/package-info.java
deleted file mode 100644
index 2e1802d8c8c6..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/r2dbc/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for R2DBC metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.r2dbc;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/redis/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/redis/package-info.java
deleted file mode 100644
index 870cd65c49f9..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/redis/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Redis metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.redis;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/startup/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/startup/package-info.java
deleted file mode 100644
index 7937a39d642b..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/startup/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator startup time metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.startup;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/task/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/task/package-info.java
deleted file mode 100644
index 0ae742b0d95e..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/task/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for task execution and scheduling metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.task;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/jetty/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/jetty/package-info.java
deleted file mode 100644
index 7cc6cdd79a8f..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/jetty/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Jetty actuator metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.web.jetty;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/package-info.java
deleted file mode 100644
index fc098467e097..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/tomcat/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Tomcat actuator metrics.
- */
-package org.springframework.boot.actuate.autoconfigure.metrics.web.tomcat;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java
deleted file mode 100644
index 75210369554a..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/Neo4jHealthContributorAutoConfiguration.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.neo4j;
-
-import org.neo4j.driver.Driver;
-
-import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator;
-import org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthContributorConfigurations.Neo4jConfiguration;
-import org.springframework.boot.actuate.autoconfigure.neo4j.Neo4jHealthContributorConfigurations.Neo4jReactiveConfiguration;
-import org.springframework.boot.actuate.neo4j.Neo4jHealthIndicator;
-import org.springframework.boot.actuate.neo4j.Neo4jReactiveHealthIndicator;
-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.neo4j.Neo4jAutoConfiguration;
-import org.springframework.context.annotation.Import;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for
- * {@link Neo4jReactiveHealthIndicator} and {@link Neo4jHealthIndicator}.
- *
- * @author Eric Spiegelberg
- * @author Stephane Nicoll
- * @author Michael J. Simons
- * @since 2.0.0
- */
-@AutoConfiguration(after = Neo4jAutoConfiguration.class)
-@ConditionalOnClass(Driver.class)
-@ConditionalOnBean(Driver.class)
-@ConditionalOnEnabledHealthIndicator("neo4j")
-@Import({ Neo4jReactiveConfiguration.class, Neo4jConfiguration.class })
-public class Neo4jHealthContributorAutoConfiguration {
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/package-info.java
deleted file mode 100644
index fa532b022e40..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/neo4j/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator Neo4J concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.neo4j;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationAutoConfiguration.java
deleted file mode 100644
index 7d479dbdcdf4..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationAutoConfiguration.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.observation;
-
-import java.util.List;
-
-import io.micrometer.core.instrument.MeterRegistry;
-import io.micrometer.core.instrument.observation.DefaultMeterObservationHandler;
-import io.micrometer.core.instrument.observation.DefaultMeterObservationHandler.IgnoredMeters;
-import io.micrometer.core.instrument.observation.MeterObservationHandler;
-import io.micrometer.observation.GlobalObservationConvention;
-import io.micrometer.observation.Observation;
-import io.micrometer.observation.ObservationFilter;
-import io.micrometer.observation.ObservationHandler;
-import io.micrometer.observation.ObservationPredicate;
-import io.micrometer.observation.ObservationRegistry;
-import io.micrometer.observation.aop.ObservedAspect;
-import io.micrometer.tracing.Tracer;
-import io.micrometer.tracing.handler.TracingAwareMeterObservationHandler;
-import io.micrometer.tracing.handler.TracingObservationHandler;
-import org.aspectj.weaver.Advice;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
-import org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConfiguration;
-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.ConditionalOnBooleanProperty;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.annotation.Order;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for the Micrometer Observation API.
- *
- * @author Moritz Halbritter
- * @author Brian Clozel
- * @author Jonatan Ivanov
- * @author Vedran Pavic
- * @since 3.0.0
- */
-@AutoConfiguration(after = { CompositeMeterRegistryAutoConfiguration.class, MicrometerTracingAutoConfiguration.class })
-@ConditionalOnClass(ObservationRegistry.class)
-@EnableConfigurationProperties(ObservationProperties.class)
-public class ObservationAutoConfiguration {
-
- @Bean
- static ObservationRegistryPostProcessor observationRegistryPostProcessor(
- ObjectProvider> observationRegistryCustomizers,
- ObjectProvider observationPredicates,
- ObjectProvider> observationConventions,
- ObjectProvider> observationHandlers,
- ObjectProvider observationHandlerGrouping,
- ObjectProvider observationFilters) {
- return new ObservationRegistryPostProcessor(observationRegistryCustomizers, observationPredicates,
- observationConventions, observationHandlers, observationHandlerGrouping, observationFilters);
- }
-
- @Bean
- @ConditionalOnMissingBean
- ObservationRegistry observationRegistry() {
- return ObservationRegistry.create();
- }
-
- @Bean
- @Order(0)
- PropertiesObservationFilterPredicate propertiesObservationFilter(ObservationProperties properties) {
- return new PropertiesObservationFilterPredicate(properties);
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnClass(MeterRegistry.class)
- @ConditionalOnMissingClass("io.micrometer.tracing.Tracer")
- static class OnlyMetricsConfiguration {
-
- @Bean
- ObservationHandlerGrouping metricsObservationHandlerGrouping() {
- return new ObservationHandlerGrouping(MeterObservationHandler.class);
- }
-
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnClass(Tracer.class)
- @ConditionalOnMissingClass("io.micrometer.core.instrument.MeterRegistry")
- static class OnlyTracingConfiguration {
-
- @Bean
- ObservationHandlerGrouping tracingObservationHandlerGrouping() {
- return new ObservationHandlerGrouping(TracingObservationHandler.class);
- }
-
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnClass({ MeterRegistry.class, Tracer.class })
- static class MetricsWithTracingConfiguration {
-
- @Bean
- ObservationHandlerGrouping metricsAndTracingObservationHandlerGrouping() {
- return new ObservationHandlerGrouping(
- List.of(TracingObservationHandler.class, MeterObservationHandler.class));
- }
-
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnBean(MeterRegistry.class)
- @ConditionalOnMissingBean(MeterObservationHandler.class)
- static class MeterObservationHandlerConfiguration {
-
- @ConditionalOnMissingBean(type = "io.micrometer.tracing.Tracer")
- @Configuration(proxyBeanMethods = false)
- static class OnlyMetricsMeterObservationHandlerConfiguration {
-
- @Bean
- DefaultMeterObservationHandler defaultMeterObservationHandler(MeterRegistry meterRegistry,
- ObservationProperties properties) {
- return properties.getLongTaskTimer().isEnabled() ? new DefaultMeterObservationHandler(meterRegistry)
- : new DefaultMeterObservationHandler(meterRegistry, IgnoredMeters.LONG_TASK_TIMER);
- }
-
- }
-
- @ConditionalOnBean(Tracer.class)
- @Configuration(proxyBeanMethods = false)
- static class TracingAndMetricsObservationHandlerConfiguration {
-
- @Bean
- TracingAwareMeterObservationHandler tracingAwareMeterObservationHandler(
- MeterRegistry meterRegistry, Tracer tracer, ObservationProperties properties) {
- DefaultMeterObservationHandler delegate = properties.getLongTaskTimer().isEnabled()
- ? new DefaultMeterObservationHandler(meterRegistry)
- : new DefaultMeterObservationHandler(meterRegistry, IgnoredMeters.LONG_TASK_TIMER);
- return new TracingAwareMeterObservationHandler<>(delegate, tracer);
- }
-
- }
-
- }
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnClass(Advice.class)
- @ConditionalOnBooleanProperty("management.observations.annotations.enabled")
- static class ObservedAspectConfiguration {
-
- @Bean
- @ConditionalOnMissingBean
- ObservedAspect observedAspect(ObservationRegistry observationRegistry) {
- return new ObservedAspect(observationRegistry);
- }
-
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationHandlerGrouping.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationHandlerGrouping.java
deleted file mode 100644
index 432bf593d31b..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/ObservationHandlerGrouping.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.observation;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import io.micrometer.observation.ObservationHandler;
-import io.micrometer.observation.ObservationHandler.FirstMatchingCompositeObservationHandler;
-import io.micrometer.observation.ObservationRegistry.ObservationConfig;
-
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
-
-/**
- * Groups {@link ObservationHandler ObservationHandlers} by type.
- *
- * @author Andy Wilkinson
- * @author Moritz Halbritter
- */
-@SuppressWarnings("rawtypes")
-class ObservationHandlerGrouping {
-
- private final List> categories;
-
- ObservationHandlerGrouping(Class extends ObservationHandler> category) {
- this(List.of(category));
- }
-
- ObservationHandlerGrouping(List> categories) {
- this.categories = categories;
- }
-
- void apply(List> handlers, ObservationConfig config) {
- MultiValueMap, ObservationHandler>> groupings = new LinkedMultiValueMap<>();
- List> handlersWithoutCategory = new ArrayList<>();
- for (ObservationHandler> handler : handlers) {
- Class extends ObservationHandler> category = findCategory(handler);
- if (category != null) {
- groupings.add(category, handler);
- }
- else {
- handlersWithoutCategory.add(handler);
- }
- }
- for (Class extends ObservationHandler> category : this.categories) {
- List> handlerGroup = groupings.get(category);
- if (!CollectionUtils.isEmpty(handlerGroup)) {
- config.observationHandler(new FirstMatchingCompositeObservationHandler(handlerGroup));
- }
- }
- for (ObservationHandler> observationHandler : handlersWithoutCategory) {
- config.observationHandler(observationHandler);
- }
- }
-
- private Class extends ObservationHandler> findCategory(ObservationHandler> handler) {
- for (Class extends ObservationHandler> category : this.categories) {
- if (category.isInstance(handler)) {
- return category;
- }
- }
- return null;
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/batch/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/batch/package-info.java
deleted file mode 100644
index 3bc569da068e..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/batch/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Spring Batch observations.
- */
-package org.springframework.boot.actuate.autoconfigure.observation.batch;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/graphql/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/graphql/package-info.java
deleted file mode 100644
index 80c168ab515f..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/graphql/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Spring GraphQL observations.
- */
-package org.springframework.boot.actuate.autoconfigure.observation.graphql;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/package-info.java
deleted file mode 100644
index 22958ef9d0ca..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for the Micrometer Observation API.
- */
-package org.springframework.boot.actuate.autoconfigure.observation;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/HttpClientObservationsAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/HttpClientObservationsAutoConfiguration.java
deleted file mode 100644
index e88de01e032e..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/HttpClientObservationsAutoConfiguration.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.observation.web.client;
-
-import io.micrometer.core.instrument.MeterRegistry;
-import io.micrometer.core.instrument.config.MeterFilter;
-import io.micrometer.observation.Observation;
-import io.micrometer.observation.ObservationRegistry;
-
-import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
-import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties;
-import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties.Web.Client;
-import org.springframework.boot.actuate.autoconfigure.metrics.OnlyOnceLoggingDenyMeterFilter;
-import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration;
-import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties;
-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.web.client.RestClientAutoConfiguration;
-import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration;
-import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
-import org.springframework.core.annotation.Order;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for HTTP client-related
- * observations.
- *
- * @author Jon Schneider
- * @author Phillip Webb
- * @author Stephane Nicoll
- * @author Raheela Aslam
- * @author Brian Clozel
- * @author Moritz Halbritter
- * @since 3.0.0
- */
-@AutoConfiguration(after = { ObservationAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class,
- RestTemplateAutoConfiguration.class, WebClientAutoConfiguration.class, RestClientAutoConfiguration.class })
-@ConditionalOnClass(Observation.class)
-@ConditionalOnBean(ObservationRegistry.class)
-@Import({ RestTemplateObservationConfiguration.class, WebClientObservationConfiguration.class,
- RestClientObservationConfiguration.class })
-@EnableConfigurationProperties({ MetricsProperties.class, ObservationProperties.class })
-public class HttpClientObservationsAutoConfiguration {
-
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnClass(MeterRegistry.class)
- @ConditionalOnBean(MeterRegistry.class)
- static class MeterFilterConfiguration {
-
- @Bean
- @Order(0)
- MeterFilter metricsHttpClientUriTagFilter(ObservationProperties observationProperties,
- MetricsProperties metricsProperties) {
- Client clientProperties = metricsProperties.getWeb().getClient();
- String name = observationProperties.getHttp().getClient().getRequests().getName();
- MeterFilter denyFilter = new OnlyOnceLoggingDenyMeterFilter(
- () -> "Reached the maximum number of URI tags for '%s'. Are you using 'uriVariables'?"
- .formatted(name));
- return MeterFilter.maximumAllowableTags(name, "uri", clientProperties.getMaxUriTags(), denyFilter);
- }
-
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/RestClientObservationConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/RestClientObservationConfiguration.java
deleted file mode 100644
index 92d2650cff84..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/RestClientObservationConfiguration.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.observation.web.client;
-
-import io.micrometer.observation.ObservationRegistry;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties;
-import org.springframework.boot.actuate.metrics.web.client.ObservationRestClientCustomizer;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.web.client.RestClientCustomizer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.client.observation.ClientRequestObservationConvention;
-import org.springframework.http.client.observation.DefaultClientRequestObservationConvention;
-import org.springframework.web.client.RestClient;
-
-/**
- * Configure the instrumentation of {@link RestClient}.
- *
- * @author Moritz Halbritter
- */
-@Configuration(proxyBeanMethods = false)
-@ConditionalOnClass(RestClient.class)
-@ConditionalOnBean(RestClient.Builder.class)
-class RestClientObservationConfiguration {
-
- @Bean
- RestClientCustomizer observationRestClientCustomizer(ObservationRegistry observationRegistry,
- ObjectProvider customConvention,
- ObservationProperties observationProperties) {
- String name = observationProperties.getHttp().getClient().getRequests().getName();
- ClientRequestObservationConvention observationConvention = customConvention
- .getIfAvailable(() -> new DefaultClientRequestObservationConvention(name));
- return new ObservationRestClientCustomizer(observationRegistry, observationConvention);
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/RestTemplateObservationConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/RestTemplateObservationConfiguration.java
deleted file mode 100644
index c458c575077d..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/RestTemplateObservationConfiguration.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.observation.web.client;
-
-import io.micrometer.observation.ObservationRegistry;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties;
-import org.springframework.boot.actuate.metrics.web.client.ObservationRestTemplateCustomizer;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.web.client.RestTemplateBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.client.observation.ClientRequestObservationConvention;
-import org.springframework.http.client.observation.DefaultClientRequestObservationConvention;
-import org.springframework.web.client.RestTemplate;
-
-/**
- * Configure the instrumentation of {@link RestTemplate}.
- *
- * @author Brian Clozel
- */
-@Configuration(proxyBeanMethods = false)
-@ConditionalOnClass(RestTemplate.class)
-@ConditionalOnBean(RestTemplateBuilder.class)
-class RestTemplateObservationConfiguration {
-
- @Bean
- ObservationRestTemplateCustomizer observationRestTemplateCustomizer(ObservationRegistry observationRegistry,
- ObjectProvider customConvention,
- ObservationProperties observationProperties) {
- String name = observationProperties.getHttp().getClient().getRequests().getName();
- ClientRequestObservationConvention observationConvention = customConvention
- .getIfAvailable(() -> new DefaultClientRequestObservationConvention(name));
- return new ObservationRestTemplateCustomizer(observationRegistry, observationConvention);
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfiguration.java
deleted file mode 100644
index 8d06b1d6a027..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/WebClientObservationConfiguration.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.observation.web.client;
-
-import io.micrometer.observation.ObservationRegistry;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties;
-import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties;
-import org.springframework.boot.actuate.metrics.web.reactive.client.ObservationWebClientCustomizer;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.reactive.function.client.ClientRequestObservationConvention;
-import org.springframework.web.reactive.function.client.DefaultClientRequestObservationConvention;
-import org.springframework.web.reactive.function.client.WebClient;
-
-/**
- * Configure the instrumentation of {@link WebClient}.
- *
- * @author Brian Clozel
- */
-@Configuration(proxyBeanMethods = false)
-@ConditionalOnClass(WebClient.class)
-class WebClientObservationConfiguration {
-
- @Bean
- ObservationWebClientCustomizer observationWebClientCustomizer(ObservationRegistry observationRegistry,
- ObjectProvider customConvention,
- ObservationProperties observationProperties, MetricsProperties metricsProperties) {
- String name = observationProperties.getHttp().getClient().getRequests().getName();
- ClientRequestObservationConvention observationConvention = customConvention
- .getIfAvailable(() -> new DefaultClientRequestObservationConvention(name));
- return new ObservationWebClientCustomizer(observationRegistry, observationConvention);
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/package-info.java
deleted file mode 100644
index a981b52355fc..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/client/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for web client observation support.
- */
-package org.springframework.boot.actuate.autoconfigure.observation.web.client;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/package-info.java
deleted file mode 100644
index ba2f819b5067..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/reactive/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for WebFlux actuator observations.
- */
-package org.springframework.boot.actuate.autoconfigure.observation.web.reactive;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/servlet/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/servlet/package-info.java
deleted file mode 100644
index c9fc6c644e78..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/observation/web/servlet/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for Spring MVC observation support.
- */
-package org.springframework.boot.actuate.autoconfigure.observation.web.servlet;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/opentelemetry/OpenTelemetryAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/opentelemetry/OpenTelemetryAutoConfiguration.java
deleted file mode 100644
index 0be18e4a7b8d..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/opentelemetry/OpenTelemetryAutoConfiguration.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.opentelemetry;
-
-import io.opentelemetry.api.OpenTelemetry;
-import io.opentelemetry.context.propagation.ContextPropagators;
-import io.opentelemetry.sdk.OpenTelemetrySdk;
-import io.opentelemetry.sdk.OpenTelemetrySdkBuilder;
-import io.opentelemetry.sdk.logs.SdkLoggerProvider;
-import io.opentelemetry.sdk.metrics.SdkMeterProvider;
-import io.opentelemetry.sdk.resources.Resource;
-import io.opentelemetry.sdk.resources.ResourceBuilder;
-import io.opentelemetry.sdk.trace.SdkTracerProvider;
-
-import org.springframework.beans.factory.ObjectProvider;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.context.properties.EnableConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.core.env.Environment;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for OpenTelemetry.
- *
- * @author Moritz Halbritter
- * @since 3.2.0
- */
-@AutoConfiguration
-@ConditionalOnClass(OpenTelemetrySdk.class)
-@EnableConfigurationProperties(OpenTelemetryProperties.class)
-public class OpenTelemetryAutoConfiguration {
-
- @Bean
- @ConditionalOnMissingBean(OpenTelemetry.class)
- OpenTelemetrySdk openTelemetry(ObjectProvider tracerProvider,
- ObjectProvider propagators, ObjectProvider loggerProvider,
- ObjectProvider meterProvider) {
- OpenTelemetrySdkBuilder builder = OpenTelemetrySdk.builder();
- tracerProvider.ifAvailable(builder::setTracerProvider);
- propagators.ifAvailable(builder::setPropagators);
- loggerProvider.ifAvailable(builder::setLoggerProvider);
- meterProvider.ifAvailable(builder::setMeterProvider);
- return builder.build();
- }
-
- @Bean
- @ConditionalOnMissingBean
- Resource openTelemetryResource(Environment environment, OpenTelemetryProperties properties) {
- Resource resource = Resource.getDefault();
- return resource.merge(toResource(environment, properties));
- }
-
- private Resource toResource(Environment environment, OpenTelemetryProperties properties) {
- ResourceBuilder builder = Resource.builder();
- new OpenTelemetryResourceAttributes(environment, properties.getResourceAttributes()).applyTo(builder::put);
- return builder.build();
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/opentelemetry/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/opentelemetry/package-info.java
deleted file mode 100644
index 0c0af1dbd119..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/opentelemetry/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for OpenTelemetry.
- */
-package org.springframework.boot.actuate.autoconfigure.opentelemetry;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/quartz/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/quartz/package-info.java
deleted file mode 100644
index 508c063082a5..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/quartz/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator Quartz Scheduler concerns.
- */
-package org.springframework.boot.actuate.autoconfigure.quartz;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/ConnectionFactoryHealthContributorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/ConnectionFactoryHealthContributorAutoConfiguration.java
deleted file mode 100644
index 03670b216b75..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/ConnectionFactoryHealthContributorAutoConfiguration.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.r2dbc;
-
-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.actuate.r2dbc.ConnectionFactoryHealthIndicator;
-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.autoconfigure.r2dbc.R2dbcAutoConfiguration;
-import org.springframework.context.annotation.Bean;
-
-/**
- * {@link EnableAutoConfiguration Auto-configuration} for
- * {@link ConnectionFactoryHealthIndicator}.
- *
- * @author Mark Paluch
- * @since 2.3.0
- */
-@AutoConfiguration(after = R2dbcAutoConfiguration.class)
-@ConditionalOnClass(ConnectionFactory.class)
-@ConditionalOnBean(ConnectionFactory.class)
-@ConditionalOnEnabledHealthIndicator("r2dbc")
-public class ConnectionFactoryHealthContributorAutoConfiguration
- extends CompositeReactiveHealthContributorConfiguration {
-
- ConnectionFactoryHealthContributorAutoConfiguration() {
- super(ConnectionFactoryHealthIndicator::new);
- }
-
- @Bean
- @ConditionalOnMissingBean(name = { "r2dbcHealthIndicator", "r2dbcHealthContributor" })
- public ReactiveHealthContributor r2dbcHealthContributor(ConfigurableListableBeanFactory beanFactory) {
- return createContributor(beanFactory, ConnectionFactory.class);
- }
-
-}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/package-info.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/package-info.java
deleted file mode 100644
index fae8c5e152ee..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/r2dbc/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2012-present 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.
- */
-
-/**
- * Auto-configuration for actuator R2DBC.
- */
-package org.springframework.boot.actuate.autoconfigure.r2dbc;
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/reactive/EndpointRequest.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/reactive/EndpointRequest.java
deleted file mode 100644
index 6702142749b7..000000000000
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/security/reactive/EndpointRequest.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*
- * Copyright 2012-present 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.autoconfigure.security.reactive;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
-import java.util.function.Supplier;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import reactor.core.publisher.Mono;
-
-import org.springframework.beans.factory.NoSuchBeanDefinitionException;
-import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties;
-import org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType;
-import org.springframework.boot.actuate.endpoint.EndpointId;
-import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
-import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints;
-import org.springframework.boot.actuate.endpoint.web.WebServerNamespace;
-import org.springframework.boot.security.reactive.ApplicationContextServerWebExchangeMatcher;
-import org.springframework.boot.web.context.WebServerApplicationContext;
-import org.springframework.context.ApplicationContext;
-import org.springframework.core.annotation.MergedAnnotation;
-import org.springframework.core.annotation.MergedAnnotations;
-import org.springframework.http.HttpMethod;
-import org.springframework.security.web.server.util.matcher.OrServerWebExchangeMatcher;
-import org.springframework.security.web.server.util.matcher.PathPatternParserServerWebExchangeMatcher;
-import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher;
-import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatcher.MatchResult;
-import org.springframework.security.web.util.matcher.RequestMatcher;
-import org.springframework.util.Assert;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-import org.springframework.web.server.ServerWebExchange;
-
-/**
- * Factory that can be used to create a {@link ServerWebExchangeMatcher} for actuator
- * endpoint locations.
- *
- * @author Madhura Bhave
- * @author Phillip Webb
- * @author Chris Bono
- * @since 2.0.0
- */
-public final class EndpointRequest {
-
- private static final ServerWebExchangeMatcher EMPTY_MATCHER = (request) -> MatchResult.notMatch();
-
- private EndpointRequest() {
- }
-
- /**
- * Returns a matcher that includes all {@link Endpoint actuator endpoints}. It also
- * includes the links endpoint which is present at the base path of the actuator
- * endpoints. The {@link EndpointServerWebExchangeMatcher#excluding(Class...)
- * excluding} method can be used to further remove specific endpoints if required. For
- * example:
- * EndpointRequest.toAnyEndpoint().excluding(ShutdownEndpoint.class)
- *
- * @return the configured {@link ServerWebExchangeMatcher}
- */
- public static EndpointServerWebExchangeMatcher toAnyEndpoint() {
- return new EndpointServerWebExchangeMatcher(true);
- }
-
- /**
- * Returns a matcher that includes the specified {@link Endpoint actuator endpoints}.
- * For example:
- * EndpointRequest.to(ShutdownEndpoint.class, HealthEndpoint.class)
- *
- * @param endpoints the endpoints to include
- * @return the configured {@link ServerWebExchangeMatcher}
- */
- public static EndpointServerWebExchangeMatcher to(Class>... endpoints) {
- return new EndpointServerWebExchangeMatcher(endpoints, false);
- }
-
- /**
- * Returns a matcher that includes the specified {@link Endpoint actuator endpoints}.
- * For example:
- * EndpointRequest.to("shutdown", "health")
- *
- * @param endpoints the endpoints to include
- * @return the configured {@link ServerWebExchangeMatcher}
- */
- public static EndpointServerWebExchangeMatcher to(String... endpoints) {
- return new EndpointServerWebExchangeMatcher(endpoints, false);
- }
-
- /**
- * Returns a matcher that matches only on the links endpoint. It can be used when
- * security configuration for the links endpoint is different from the other
- * {@link Endpoint actuator endpoints}. The
- * {@link EndpointServerWebExchangeMatcher#excludingLinks() excludingLinks} method can
- * be used in combination with this to remove the links endpoint from
- * {@link EndpointRequest#toAnyEndpoint() toAnyEndpoint}. For example:
- *
- * EndpointRequest.toLinks()
- *
- * @return the configured {@link ServerWebExchangeMatcher}
- */
- public static LinksServerWebExchangeMatcher toLinks() {
- return new LinksServerWebExchangeMatcher();
- }
-
- /**
- * Returns a matcher that includes additional paths under a {@link WebServerNamespace}
- * for the specified {@link Endpoint actuator endpoints}. For example:
- *
- * EndpointRequest.toAdditionalPaths(WebServerNamespace.SERVER, "health")
- *
- * @param webServerNamespace the web server namespace
- * @param endpoints the endpoints to include
- * @return the configured {@link RequestMatcher}
- * @since 3.4.0
- */
- public static AdditionalPathsEndpointServerWebExchangeMatcher toAdditionalPaths(
- WebServerNamespace webServerNamespace, Class>... endpoints) {
- return new AdditionalPathsEndpointServerWebExchangeMatcher(webServerNamespace, endpoints);
- }
-
- /**
- * Returns a matcher that includes additional paths under a {@link WebServerNamespace}
- * for the specified {@link Endpoint actuator endpoints}. For example:
- *
- * EndpointRequest.toAdditionalPaths(WebServerNamespace.SERVER, HealthEndpoint.class)
- *
- * @param webServerNamespace the web server namespace
- * @param endpoints the endpoints to include
- * @return the configured {@link RequestMatcher}
- * @since 3.4.0
- */
- public static AdditionalPathsEndpointServerWebExchangeMatcher toAdditionalPaths(
- WebServerNamespace webServerNamespace, String... endpoints) {
- return new AdditionalPathsEndpointServerWebExchangeMatcher(webServerNamespace, endpoints);
- }
-
- /**
- * Base class for supported request matchers.
- */
- private abstract static class AbstractWebExchangeMatcher extends ApplicationContextServerWebExchangeMatcher {
-
- private volatile ServerWebExchangeMatcher delegate;
-
- private volatile ManagementPortType managementPortType;
-
- AbstractWebExchangeMatcher(Class extends C> contextClass) {
- super(contextClass);
- }
-
- @Override
- protected void initialized(Supplier supplier) {
- this.delegate = createDelegate(supplier);
- }
-
- private ServerWebExchangeMatcher createDelegate(Supplier context) {
- try {
- return createDelegate(context.get());
- }
- catch (NoSuchBeanDefinitionException ex) {
- return EMPTY_MATCHER;
- }
- }
-
- protected abstract ServerWebExchangeMatcher createDelegate(C context);
-
- protected final List getDelegateMatchers(Set paths, HttpMethod httpMethod) {
- return paths.stream()
- .map((path) -> getDelegateMatcher(path, httpMethod))
- .collect(Collectors.toCollection(ArrayList::new));
- }
-
- private PathPatternParserServerWebExchangeMatcher getDelegateMatcher(String path, HttpMethod httpMethod) {
- Assert.notNull(path, "'path' must not be null");
- return new PathPatternParserServerWebExchangeMatcher(path + "/**", httpMethod);
- }
-
- @Override
- protected Mono matches(ServerWebExchange exchange, Supplier context) {
- return this.delegate.matches(exchange);
- }
-
- @Override
- protected boolean ignoreApplicationContext(ApplicationContext applicationContext) {
- ManagementPortType managementPortType = this.managementPortType;
- if (managementPortType == null) {
- managementPortType = ManagementPortType.get(applicationContext.getEnvironment());
- this.managementPortType = managementPortType;
- }
- return ignoreApplicationContext(applicationContext, managementPortType);
- }
-
- protected boolean ignoreApplicationContext(ApplicationContext applicationContext,
- ManagementPortType managementPortType) {
- return managementPortType == ManagementPortType.DIFFERENT
- && !hasWebServerNamespace(applicationContext, WebServerNamespace.MANAGEMENT);
- }
-
- protected final boolean hasWebServerNamespace(ApplicationContext applicationContext,
- WebServerNamespace webServerNamespace) {
- return WebServerApplicationContext.hasServerNamespace(applicationContext, webServerNamespace.getValue())
- || hasImplicitServerNamespace(applicationContext, webServerNamespace);
- }
-
- private boolean hasImplicitServerNamespace(ApplicationContext applicationContext,
- WebServerNamespace webServerNamespace) {
- return WebServerNamespace.SERVER.equals(webServerNamespace)
- && WebServerApplicationContext.getServerNamespace(applicationContext) == null
- && applicationContext.getParent() == null;
- }
-
- protected final String toString(List