Skip to content

Commit 3d63406

Browse files
committed
Correctly honour Environment.isInitializing
1 parent 0916c1a commit 3d63406

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

grails-core/src/main/groovy/grails/boot/config/GrailsApplicationPostProcessor.groovy

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ class GrailsApplicationPostProcessor implements BeanDefinitionRegistryPostProces
8282
if(applicationContext == null) {
8383
throw new IllegalStateException("ApplicationContext should not be null")
8484
}
85+
Environment.setInitializing(true)
8586
grailsApplication.applicationContext = applicationContext
8687
grailsApplication.mainContext = applicationContext
8788
customizePluginManager(pluginManager)
@@ -236,6 +237,7 @@ class GrailsApplicationPostProcessor implements BeanDefinitionRegistryPostProces
236237

237238
def lifeCycleBeans = context.getBeansOfType(GrailsApplicationLifeCycle).values()
238239
if(event instanceof ContextRefreshedEvent) {
240+
Environment.setInitializing(false)
239241
pluginManager.setApplicationContext(context)
240242
pluginManager.doDynamicMethods()
241243
for(GrailsApplicationLifeCycle lifeCycle in lifeCycleBeans) {

grails-plugin-controllers/src/main/groovy/org/grails/plugins/web/controllers/api/ControllersDomainBindingApi.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import grails.core.GrailsApplication;
2121
import grails.core.GrailsDomainClass;
2222
import grails.core.GrailsDomainClassProperty;
23+
import grails.util.Environment;
2324
import grails.util.GrailsMetaClassUtils;
2425
import grails.util.Holders;
2526
import grails.web.databinding.DataBindingUtils;
@@ -90,13 +91,16 @@ private static GrailsDomainClass getDomainClass(Object instance) {
9091
}
9192

9293
private static void autowire(Object instance) {
93-
final ApplicationContext applicationContext = Holders.findApplicationContext();
94-
final Config config = Holders.getConfig();
95-
boolean autowire = config != null ? config.getProperty(Settings.GORM_AUTOWIRE_INSTANCES, Boolean.class, true) : true;
96-
if(autowire && applicationContext != null) {
97-
applicationContext
98-
.getAutowireCapableBeanFactory()
99-
.autowireBeanProperties(instance, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, false);
94+
if(!Environment.isInitializing()) {
95+
96+
final ApplicationContext applicationContext = Holders.findApplicationContext();
97+
final Config config = Holders.getConfig();
98+
boolean autowire = config != null ? config.getProperty(Settings.GORM_AUTOWIRE_INSTANCES, Boolean.class, true) : true;
99+
if(autowire && applicationContext != null ) {
100+
applicationContext
101+
.getAutowireCapableBeanFactory()
102+
.autowireBeanProperties(instance, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, false);
103+
}
100104
}
101105
}
102106
}

0 commit comments

Comments
 (0)