Move cache metrics auto-configuration into spring-boot-cache
This commit is contained in:
committed by
Phillip Webb
parent
ff0876c001
commit
84d01cbad4
@@ -29,7 +29,6 @@ dependencies {
|
||||
|
||||
optional(project(":spring-boot-project:spring-boot-activemq"))
|
||||
optional(project(":spring-boot-project:spring-boot-artemis"))
|
||||
optional(project(":spring-boot-project:spring-boot-cache"))
|
||||
optional(project(":spring-boot-project:spring-boot-couchbase"))
|
||||
optional(project(":spring-boot-project:spring-boot-data-cassandra"))
|
||||
optional(project(":spring-boot-project:spring-boot-data-jpa"))
|
||||
@@ -103,7 +102,6 @@ dependencies {
|
||||
optional("io.undertow:undertow-servlet")
|
||||
optional("jakarta.persistence:jakarta.persistence-api")
|
||||
optional("jakarta.servlet:jakarta.servlet-api")
|
||||
optional("javax.cache:cache-api")
|
||||
optional("org.apache.activemq:activemq-broker")
|
||||
optional("org.apache.activemq:activemq-client")
|
||||
optional("org.apache.commons:commons-dbcp2")
|
||||
@@ -114,8 +112,6 @@ dependencies {
|
||||
optional("org.apache.tomcat.embed:tomcat-embed-el")
|
||||
optional("org.apache.tomcat:tomcat-jdbc")
|
||||
optional("org.aspectj:aspectjweaver")
|
||||
optional("org.cache2k:cache2k-micrometer")
|
||||
optional("org.cache2k:cache2k-spring")
|
||||
optional("org.eclipse.jetty:jetty-server") {
|
||||
exclude group: "org.eclipse.jetty.toolchain", module: "jetty-jakarta-servlet-api"
|
||||
}
|
||||
@@ -163,7 +159,6 @@ dependencies {
|
||||
testImplementation("org.apache.activemq:artemis-jakarta-server")
|
||||
testImplementation("org.apache.logging.log4j:log4j-to-slf4j")
|
||||
testImplementation("org.aspectj:aspectjrt")
|
||||
testImplementation("org.cache2k:cache2k-api")
|
||||
testImplementation("org.eclipse.jetty.ee10:jetty-ee10-webapp")
|
||||
testImplementation("org.eclipse.jetty.http2:jetty-http2-server")
|
||||
testImplementation("org.glassfish.jersey.ext:jersey-spring6")
|
||||
@@ -177,7 +172,6 @@ dependencies {
|
||||
|
||||
testRuntimeOnly("jakarta.management.j2ee:jakarta.management.j2ee-api")
|
||||
testRuntimeOnly("jakarta.transaction:jakarta.transaction-api")
|
||||
testRuntimeOnly("org.cache2k:cache2k-core")
|
||||
testRuntimeOnly("org.opensaml:opensaml-core:4.0.1")
|
||||
testRuntimeOnly("org.opensaml:opensaml-saml-api:4.0.1")
|
||||
testRuntimeOnly("org.opensaml:opensaml-saml-impl:4.0.1")
|
||||
|
||||
@@ -22,7 +22,6 @@ org.springframework.boot.actuate.autoconfigure.logging.OpenTelemetryLoggingAutoC
|
||||
org.springframework.boot.actuate.autoconfigure.logging.otlp.OtlpLoggingAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.management.HeapDumpWebEndpointAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.management.ThreadDumpEndpointAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.cache.CacheMetricsAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.data.RepositoryMetricsAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.appoptics.AppOpticsMetricsExportAutoConfiguration
|
||||
org.springframework.boot.actuate.autoconfigure.metrics.export.atlas.AtlasMetricsExportAutoConfiguration
|
||||
|
||||
@@ -34,7 +34,6 @@ import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.actuate.autoconfigure.metrics.cache.CacheMetricsAutoConfiguration;
|
||||
import org.springframework.boot.actuate.autoconfigure.metrics.jdbc.DataSourcePoolMetricsAutoConfiguration;
|
||||
import org.springframework.boot.actuate.autoconfigure.metrics.orm.jpa.HibernateMetricsAutoConfiguration;
|
||||
import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration;
|
||||
@@ -145,13 +144,13 @@ class MetricsIntegrationTests {
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@ImportAutoConfiguration({ MetricsAutoConfiguration.class, ObservationAutoConfiguration.class,
|
||||
JvmMetricsAutoConfiguration.class, LogbackMetricsAutoConfiguration.class,
|
||||
SystemMetricsAutoConfiguration.class, CacheMetricsAutoConfiguration.class,
|
||||
DataSourcePoolMetricsAutoConfiguration.class, HibernateMetricsAutoConfiguration.class,
|
||||
HttpClientObservationsAutoConfiguration.class, WebFluxObservationAutoConfiguration.class,
|
||||
WebMvcObservationAutoConfiguration.class, JacksonAutoConfiguration.class,
|
||||
HttpMessageConvertersAutoConfiguration.class, RestTemplateAutoConfiguration.class,
|
||||
WebMvcAutoConfiguration.class, DispatcherServletAutoConfiguration.class,
|
||||
TomcatServletWebServerAutoConfiguration.class, TomcatServletWebServerAutoConfiguration.class })
|
||||
SystemMetricsAutoConfiguration.class, DataSourcePoolMetricsAutoConfiguration.class,
|
||||
HibernateMetricsAutoConfiguration.class, HttpClientObservationsAutoConfiguration.class,
|
||||
WebFluxObservationAutoConfiguration.class, WebMvcObservationAutoConfiguration.class,
|
||||
JacksonAutoConfiguration.class, HttpMessageConvertersAutoConfiguration.class,
|
||||
RestTemplateAutoConfiguration.class, WebMvcAutoConfiguration.class,
|
||||
DispatcherServletAutoConfiguration.class, TomcatServletWebServerAutoConfiguration.class,
|
||||
TomcatServletWebServerAutoConfiguration.class })
|
||||
@Import(PersonController.class)
|
||||
static class MetricsApp {
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ dependencies {
|
||||
optional(project(":spring-boot-project:spring-boot-data-redis"))
|
||||
optional(project(":spring-boot-project:spring-boot-hazelcast"))
|
||||
optional(project(":spring-boot-project:spring-boot-jpa"))
|
||||
optional(project(":spring-boot-project:spring-boot-metrics"))
|
||||
optional("com.hazelcast:hazelcast-spring")
|
||||
optional("io.micrometer:micrometer-core")
|
||||
optional("javax.cache:cache-api")
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.cache;
|
||||
package org.springframework.boot.cache.actuate.metrics.autoconfigure;
|
||||
|
||||
import com.hazelcast.core.Hazelcast;
|
||||
import com.hazelcast.spring.cache.HazelcastCache;
|
||||
@@ -14,15 +14,15 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.cache;
|
||||
package org.springframework.boot.cache.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.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.cache.actuate.metrics.CacheMetricsRegistrar;
|
||||
import org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration;
|
||||
import org.springframework.boot.metrics.autoconfigure.MetricsAutoConfiguration;
|
||||
import org.springframework.boot.cache.autoconfigure.CacheAutoConfiguration;
|
||||
import org.springframework.cache.Cache;
|
||||
import org.springframework.cache.CacheManager;
|
||||
import org.springframework.context.annotation.Import;
|
||||
@@ -32,12 +32,12 @@ import org.springframework.context.annotation.Import;
|
||||
* {@link Cache caches}.
|
||||
*
|
||||
* @author Stephane Nicoll
|
||||
* @since 2.0.0
|
||||
* @since 4.0.0
|
||||
*/
|
||||
@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class },
|
||||
afterName = "org.springframework.boot.cache.autoconfigure.CacheAutoConfiguration")
|
||||
@AutoConfiguration(after = { CacheAutoConfiguration.class },
|
||||
afterName = "org.springframework.boot.metrics.autoconfigure.CompositeMeterRegistryAutoConfiguration")
|
||||
@ConditionalOnBean(CacheManager.class)
|
||||
@ConditionalOnClass(CacheMetricsRegistrar.class)
|
||||
@ConditionalOnClass(MeterRegistry.class)
|
||||
@Import({ CacheMeterBinderProvidersConfiguration.class, CacheMetricsRegistrarConfiguration.class })
|
||||
public class CacheMetricsAutoConfiguration {
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.cache;
|
||||
package org.springframework.boot.cache.actuate.metrics.autoconfigure;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Map;
|
||||
@@ -17,4 +17,4 @@
|
||||
/**
|
||||
* Auto-configuration for cache metrics.
|
||||
*/
|
||||
package org.springframework.boot.actuate.autoconfigure.metrics.cache;
|
||||
package org.springframework.boot.cache.actuate.metrics.autoconfigure;
|
||||
@@ -1,2 +1,3 @@
|
||||
org.springframework.boot.cache.actuate.endpoint.autoconfigure.CachesEndpointAutoConfiguration
|
||||
org.springframework.boot.cache.actuate.metrics.autoconfigure.CacheMetricsAutoConfiguration
|
||||
org.springframework.boot.cache.autoconfigure.CacheAutoConfiguration
|
||||
|
||||
@@ -21,13 +21,12 @@ import java.util.List;
|
||||
|
||||
import com.github.benmanes.caffeine.cache.CaffeineSpec;
|
||||
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.metrics.test.MetricsRun;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener;
|
||||
import org.springframework.boot.cache.actuate.metrics.autoconfigure.CacheMetricsAutoConfiguration;
|
||||
import org.springframework.boot.cache.autoconfigure.CacheAutoConfiguration;
|
||||
import org.springframework.boot.logging.LogLevel;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.cache.CacheManager;
|
||||
import org.springframework.cache.annotation.CachingConfigurer;
|
||||
@@ -46,14 +45,14 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
*/
|
||||
class CacheMetricsAutoConfigurationTests {
|
||||
|
||||
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner().with(MetricsRun.simple())
|
||||
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
|
||||
.withBean(SimpleMeterRegistry.class)
|
||||
.withUserConfiguration(CachingConfiguration.class)
|
||||
.withConfiguration(AutoConfigurations.of(CacheAutoConfiguration.class, CacheMetricsAutoConfiguration.class));
|
||||
|
||||
@Test
|
||||
void autoConfiguredCache2kIsInstrumented() {
|
||||
this.contextRunner.withPropertyValues("spring.cache.type=cache2k", "spring.cache.cache-names=cache1,cache2")
|
||||
.withInitializer(ConditionEvaluationReportLoggingListener.forLogLevel(LogLevel.INFO))
|
||||
.run((context) -> {
|
||||
MeterRegistry registry = context.getBean(MeterRegistry.class);
|
||||
registry.get("cache.gets").tags("name", "cache1").tags("cache.manager", "cacheManager").meter();
|
||||
Reference in New Issue
Block a user