From 1df2267188a863d75d0cedf51bcac6dffd5e0eb7 Mon Sep 17 00:00:00 2001 From: liaozan <378024053@qq.com> Date: Tue, 19 Dec 2023 10:16:13 +0800 Subject: [PATCH] Avoid NoClass error --- .../cache/CacheAutoConfiguration.java | 11 ++-------- .../lettuce/LettuceMetricsConfiguration.java | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+), 9 deletions(-) create mode 100644 starters/cache-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/cache/lettuce/LettuceMetricsConfiguration.java 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 037e5bc..ba70fc1 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 0000000..0085088 --- /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(); + } + +} -- GitLab