diff --git a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/config/LoadBalancerCacheAutoConfiguration.java b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/config/LoadBalancerCacheAutoConfiguration.java index 2456f76f6..51b17f41e 100644 --- a/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/config/LoadBalancerCacheAutoConfiguration.java +++ b/spring-cloud-loadbalancer/src/main/java/org/springframework/cloud/loadbalancer/config/LoadBalancerCacheAutoConfiguration.java @@ -73,32 +73,6 @@ @Conditional(LoadBalancerCacheAutoConfiguration.OnLoadBalancerCachingEnabledCondition.class) public class LoadBalancerCacheAutoConfiguration { - @Configuration(proxyBeanMethods = false) - @Conditional(OnCaffeineCacheMissingCondition.class) - protected static class LoadBalancerCacheManagerWarnConfiguration { - - @Bean - LoadBalancerCaffeineWarnLogger caffeineWarnLogger() { - return new LoadBalancerCaffeineWarnLogger(); - } - - } - - static class LoadBalancerCaffeineWarnLogger implements InitializingBean { - - private static final Log LOG = LogFactory.getLog(LoadBalancerCaffeineWarnLogger.class); - - @Override - public void afterPropertiesSet() { - if (LOG.isWarnEnabled()) { - LOG.warn("Spring Cloud LoadBalancer is currently working with the default cache. " - + "While this cache implementation is useful for development and tests, it's recommended to use Caffeine cache in production." - + "You can switch to using Caffeine cache, by adding it and org.springframework.cache.caffeine.CaffeineCacheManager to the classpath."); - } - } - - } - @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ Caffeine.class, CaffeineCacheManager.class }) protected static class CaffeineLoadBalancerCacheManagerConfiguration { @@ -122,6 +96,11 @@ LoadBalancerCacheManager defaultLoadBalancerCacheManager(LoadBalancerCacheProper return new DefaultLoadBalancerCacheManager(cacheProperties); } + @Bean + LoadBalancerCaffeineWarnLogger caffeineWarnLogger() { + return new LoadBalancerCaffeineWarnLogger(); + } + } static final class OnCaffeineCacheMissingCondition extends AnyNestedCondition { @@ -160,6 +139,21 @@ static class LoadBalancerCacheEnabled { } + static class LoadBalancerCaffeineWarnLogger implements InitializingBean { + + private static final Log LOG = LogFactory.getLog(LoadBalancerCaffeineWarnLogger.class); + + @Override + public void afterPropertiesSet() { + if (LOG.isWarnEnabled()) { + LOG.warn("Spring Cloud LoadBalancer is currently working with the default cache. " + + "While this cache implementation is useful for development and tests, it's recommended to use Caffeine cache in production." + + "You can switch to using Caffeine cache, by adding it and org.springframework.cache.caffeine.CaffeineCacheManager to the classpath."); + } + } + + } + } // Remove after adding hints to GraalVM reachability metadata repo