From d6e167d16eb9dd18349922f12b2898b5f920ac13 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sun, 3 Sep 2023 00:42:38 +0200 Subject: [PATCH] Raise log level to warn when enhancement cannot apply Closes gh-31102 --- .../annotation/ConfigurationClassPostProcessor.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassPostProcessor.java b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassPostProcessor.java index fd8d0f92a1..c9a1eae913 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassPostProcessor.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassPostProcessor.java @@ -506,11 +506,12 @@ public class ConfigurationClassPostProcessor implements BeanDefinitionRegistryPo throw new BeanDefinitionStoreException("Cannot enhance @Configuration bean definition '" + beanName + "' since it is not stored in an AbstractBeanDefinition subclass"); } - else if (logger.isInfoEnabled() && beanFactory.containsSingleton(beanName)) { - logger.info("Cannot enhance @Configuration bean definition '" + beanName + + else if (logger.isWarnEnabled() && beanFactory.containsSingleton(beanName)) { + logger.warn("Cannot enhance @Configuration bean definition '" + beanName + "' since its singleton instance has been created too early. The typical cause " + "is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor " + - "return type: Consider declaring such methods as 'static'."); + "return type: Consider declaring such methods as 'static' and/or mark the " + + "containing configuration class as 'proxyBeanMethods=false'."); } configBeanDefs.put(beanName, abd); }