Move metrics and endpoint auto-config into spring-boot-integration
This commit is contained in:
committed by
Phillip Webb
parent
84d01cbad4
commit
bb3bd2a81e
@@ -36,7 +36,6 @@ dependencies {
|
||||
optional(project(":spring-boot-project:spring-boot-data-redis"))
|
||||
optional(project(":spring-boot-project:spring-boot-http-converter"))
|
||||
optional(project(":spring-boot-project:spring-boot-http-codec"))
|
||||
optional(project(":spring-boot-project:spring-boot-integration"))
|
||||
optional(project(":spring-boot-project:spring-boot-jackson"))
|
||||
optional(project(":spring-boot-project:spring-boot-jersey"))
|
||||
optional(project(":spring-boot-project:spring-boot-jetty"))
|
||||
@@ -166,7 +165,6 @@ dependencies {
|
||||
testImplementation("org.hsqldb:hsqldb")
|
||||
testImplementation("org.springframework:spring-orm")
|
||||
testImplementation("org.springframework.data:spring-data-rest-webmvc")
|
||||
testImplementation("org.springframework.integration:spring-integration-jmx")
|
||||
testImplementation("org.springframework.security:spring-security-test")
|
||||
testImplementation("org.yaml:snakeyaml")
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ org.springframework.boot.actuate.autoconfigure.data.redis.RedisReactiveHealthCon
|
||||
org.springframework.boot.actuate.autoconfigure.endpoint.jackson.JacksonEndpointAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.endpoint.jmx.JmxEndpointAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.integration.IntegrationGraphEndpointAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.logging.LogFileWebEndpointAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.logging.LoggersEndpointAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.logging.OpenTelemetryLoggingAutoConfiguration
|
||||
@@ -41,7 +40,6 @@ org.springframework.boot.actuate.autoconfigure.metrics.export.signalfx.SignalFxM
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.stackdriver.StackdriverMetricsExportAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.statsd.StatsdMetricsExportAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.integration.IntegrationMetricsAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.jersey.JerseyServerMetricsAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.mongo.MongoMetricsAutoConfiguration
|
||||
|
||||
@@ -14,9 +14,10 @@ dependencies {
|
||||
|
||||
implementation(project(":spring-boot-project:spring-boot-sql"))
|
||||
|
||||
optional(project(":spring-boot-project:spring-boot-actuator"))
|
||||
optional(project(":spring-boot-project:spring-boot-actuator-autoconfigure"))
|
||||
optional(project(":spring-boot-project:spring-boot-autoconfigure"))
|
||||
optional(project(":spring-boot-project:spring-boot-jdbc"))
|
||||
optional(project(":spring-boot-project:spring-boot-metrics"))
|
||||
optional(project(":spring-boot-project:spring-boot-rsocket"))
|
||||
optional("org.springframework.integration:spring-integration-jdbc")
|
||||
optional("org.springframework.integration:spring-integration-jmx")
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure.integration;
|
||||
package org.springframework.boot.integration.actuate.endpoint.autoconfigure;
|
||||
|
||||
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
@@ -23,6 +23,7 @@ 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.integration.actuate.endpoint.IntegrationGraphEndpoint;
|
||||
import org.springframework.boot.integration.autoconfigure.IntegrationAutoConfiguration;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.integration.config.IntegrationConfigurationBeanFactoryPostProcessor;
|
||||
import org.springframework.integration.graph.IntegrationGraphServer;
|
||||
@@ -33,10 +34,11 @@ import org.springframework.integration.graph.IntegrationGraphServer;
|
||||
*
|
||||
* @author Tim Ysewyn
|
||||
* @author Stephane Nicoll
|
||||
* @since 2.1.0
|
||||
* @since 4.0.0
|
||||
*/
|
||||
@AutoConfiguration(afterName = "org.springframework.boot.integration.autoconfigure.IntegrationAutoConfiguration")
|
||||
@ConditionalOnClass({ IntegrationGraphServer.class, IntegrationGraphEndpoint.class })
|
||||
@AutoConfiguration(after = IntegrationAutoConfiguration.class)
|
||||
@ConditionalOnClass({ IntegrationGraphServer.class, IntegrationGraphEndpoint.class,
|
||||
ConditionalOnAvailableEndpoint.class })
|
||||
@ConditionalOnBean(IntegrationConfigurationBeanFactoryPostProcessor.class)
|
||||
@ConditionalOnAvailableEndpoint(IntegrationGraphEndpoint.class)
|
||||
public class IntegrationGraphEndpointAutoConfiguration {
|
||||
@@ -15,6 +15,6 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* Auto-configuration for actuator Spring Integration concerns.
|
||||
* Auto-configuration for Spring Integration actuator endpoint.
|
||||
*/
|
||||
package org.springframework.boot.actuate.autoconfigure.integration;
|
||||
package org.springframework.boot.integration.actuate.endpoint.autoconfigure;
|
||||
@@ -14,14 +14,13 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.integration;
|
||||
package org.springframework.boot.integration.actuate.metrics.autoconfigure;
|
||||
|
||||
import io.micrometer.core.instrument.MeterRegistry;
|
||||
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration;
|
||||
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
|
||||
import org.springframework.boot.integration.autoconfigure.IntegrationAutoConfiguration;
|
||||
|
||||
/**
|
||||
* {@link EnableAutoConfiguration Auto-configuration} for Spring Integration's metrics.
|
||||
@@ -31,8 +30,8 @@ import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
|
||||
*
|
||||
* @author Andy Wilkinson
|
||||
*/
|
||||
@AutoConfiguration(beforeName = "org.springframework.boot.integration.autoconfigure.IntegrationAutoConfiguration",
|
||||
after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class })
|
||||
@AutoConfiguration(before = IntegrationAutoConfiguration.class,
|
||||
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration")
|
||||
class IntegrationMetricsAutoConfiguration {
|
||||
|
||||
}
|
||||
@@ -17,4 +17,4 @@
|
||||
/**
|
||||
* Auto-configuration for Spring Integration metrics.
|
||||
*/
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.integration;
|
||||
package org.springframework.boot.integration.actuate.metrics.autoconfigure;
|
||||
@@ -85,7 +85,7 @@ import org.springframework.util.StringUtils;
|
||||
* @author Madhura Bhave
|
||||
* @author Yong-Hyun Kim
|
||||
* @author Yanming Zhou
|
||||
* @since 1.1.0
|
||||
* @since 4.0.0
|
||||
*/
|
||||
@AutoConfiguration(beforeName = "org.springframework.boot.rsocket.autoconfigure.RSocketMessagingAutoConfiguration",
|
||||
after = { JmxAutoConfiguration.class, TaskSchedulingAutoConfiguration.class },
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
* Copyright 2012-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -32,7 +32,7 @@ import org.springframework.util.StringUtils;
|
||||
*
|
||||
* @author Vedran Pavic
|
||||
* @author Andy Wilkinson
|
||||
* @since 2.6.0
|
||||
* @since 4.0.0
|
||||
*/
|
||||
public class IntegrationDataSourceScriptDatabaseInitializer extends DataSourceScriptDatabaseInitializer {
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.springframework.boot.sql.init.DatabaseInitializationMode;
|
||||
* @author Vedran Pavic
|
||||
* @author Stephane Nicoll
|
||||
* @author Artem Bilan
|
||||
* @since 2.0.0
|
||||
* @since 4.0.0
|
||||
*/
|
||||
@ConfigurationProperties("spring.integration")
|
||||
public class IntegrationProperties {
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.springframework.integration.scheduling.PollerMetadata;
|
||||
* {@link PollerMetadata} whilst retaining default auto-configuration.
|
||||
*
|
||||
* @author Yanming Zhou
|
||||
* @since 3.5.0
|
||||
* @since 4.0.0
|
||||
*/
|
||||
@FunctionalInterface
|
||||
public interface PollerMetadataCustomizer {
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
org.springframework.boot.integration.actuate.endpoint.autoconfigure.IntegrationGraphEndpointAutoConfiguration
|
||||
org.springframework.boot.integration.actuate.metrics.autoconfigure.IntegrationMetricsAutoConfiguration
|
||||
org.springframework.boot.integration.autoconfigure.IntegrationAutoConfiguration
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.integration;
|
||||
package org.springframework.boot.integration.actuate.endpoint;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -23,7 +23,6 @@ import java.util.Map;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.boot.integration.actuate.endpoint.IntegrationGraphEndpoint;
|
||||
import org.springframework.boot.integration.actuate.endpoint.IntegrationGraphEndpoint.GraphDescriptor;
|
||||
import org.springframework.integration.graph.Graph;
|
||||
import org.springframework.integration.graph.IntegrationGraphServer;
|
||||
@@ -14,10 +14,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.integration;
|
||||
package org.springframework.boot.integration.actuate.endpoint;
|
||||
|
||||
import org.springframework.boot.actuate.endpoint.web.test.WebEndpointTest;
|
||||
import org.springframework.boot.integration.actuate.endpoint.IntegrationGraphEndpoint;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.MediaType;
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure.integration;
|
||||
package org.springframework.boot.integration.actuate.endpoint.autoconfigure;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
@@ -14,16 +14,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.integration;
|
||||
package org.springframework.boot.integration.actuate.metrics.autoconfigure;
|
||||
|
||||
import io.micrometer.core.instrument.Gauge;
|
||||
import io.micrometer.core.instrument.MeterRegistry;
|
||||
import io.micrometer.core.instrument.simple.SimpleMeterRegistry;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.boot.actuate.autoconfigure.integration.IntegrationGraphEndpointAutoConfiguration;
|
||||
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.integration.actuate.endpoint.autoconfigure.IntegrationGraphEndpointAutoConfiguration;
|
||||
import org.springframework.boot.integration.autoconfigure.IntegrationAutoConfiguration;
|
||||
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -37,9 +38,11 @@ class IntegrationMetricsAutoConfigurationTests {
|
||||
|
||||
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
|
||||
.withConfiguration(AutoConfigurations.of(IntegrationAutoConfiguration.class,
|
||||
IntegrationGraphEndpointAutoConfiguration.class, IntegrationMetricsAutoConfiguration.class))
|
||||
.with(MetricsRun.simple())
|
||||
.withPropertyValues("management.metrics.tags.someTag=someValue");
|
||||
IntegrationGraphEndpointAutoConfiguration.class, IntegrationMetricsAutoConfiguration.class,
|
||||
MetricsAutoConfiguration.class))
|
||||
.withBean(SimpleMeterRegistry.class)
|
||||
.withPropertyValues("management.metrics.tags.someTag=someValue",
|
||||
"management.metrics.use-global-registry=false");
|
||||
|
||||
@Test
|
||||
void integrationMetersAreInstrumented() {
|
||||
Reference in New Issue
Block a user