diff --git a/starters/cache-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/cache/CacheAutoConfiguration.java b/starters/cache-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/cache/CacheAutoConfiguration.java index 037e5bcb31f9e146a08bbd2c454684a2b78b7e2d..ba70fc10b41931d61dacdb9b16eea59c48c160aa 100644 --- a/starters/cache-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/cache/CacheAutoConfiguration.java +++ b/starters/cache-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/cache/CacheAutoConfiguration.java @@ -1,13 +1,12 @@ package com.schbrain.framework.autoconfigure.cache; +import com.schbrain.framework.autoconfigure.cache.lettuce.LettuceMetricsConfiguration; import com.schbrain.framework.autoconfigure.cache.properties.CacheProperties; import com.schbrain.framework.autoconfigure.cache.provider.CacheOperation; import com.schbrain.framework.autoconfigure.cache.provider.PrefixedCacheOperation; import com.schbrain.framework.autoconfigure.cache.provider.redis.RedisCacheConfiguration; -import io.lettuce.core.metrics.MicrometerOptions; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -19,7 +18,7 @@ import org.springframework.context.annotation.Import; * @author zhuyf * @since 2022/7/25 */ -@Import(RedisCacheConfiguration.class) +@Import({RedisCacheConfiguration.class, LettuceMetricsConfiguration.class}) @AutoConfiguration(after = RedisAutoConfiguration.class) @EnableConfigurationProperties(CacheProperties.class) public class CacheAutoConfiguration { @@ -32,10 +31,4 @@ public class CacheAutoConfiguration { return operation; } - @Bean - @ConditionalOnMissingBean - public MicrometerOptions disableLettuceMetrics() { - return MicrometerOptions.disabled(); - } - } diff --git a/starters/cache-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/cache/lettuce/LettuceMetricsConfiguration.java b/starters/cache-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/cache/lettuce/LettuceMetricsConfiguration.java new file mode 100644 index 0000000000000000000000000000000000000000..0085088c652c68da5fe914cbd555e57419511422 --- /dev/null +++ b/starters/cache-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/cache/lettuce/LettuceMetricsConfiguration.java @@ -0,0 +1,21 @@ +package com.schbrain.framework.autoconfigure.cache.lettuce; + +import io.lettuce.core.metrics.MicrometerOptions; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.context.annotation.*; + +/** + * @author liaozan + * @since 2023/12/19 + */ +@Configuration(proxyBeanMethods = false) +@ConditionalOnClass(MicrometerOptions.class) +public class LettuceMetricsConfiguration { + + @Bean + @Primary + public MicrometerOptions disableLettuceMetrics() { + return MicrometerOptions.disabled(); + } + +}