Flexible constructor resolution in AutowireCapableBeanFactory.createBean(Class)

Closes gh-29855
See gh-29823
This commit is contained in:
Juergen Hoeller
2023-01-19 17:10:42 +01:00
parent 94fc24b6fb
commit 0e8838db90
6 changed files with 15 additions and 17 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,7 +22,6 @@ import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.MutablePropertyValues;
import org.springframework.beans.PropertyAccessorFactory;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.lang.Nullable;
@@ -88,7 +87,7 @@ public class SpringBeanJobFactory extends AdaptableJobFactory
protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {
Object job = (this.applicationContext != null ?
this.applicationContext.getAutowireCapableBeanFactory().createBean(
bundle.getJobDetail().getJobClass(), AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, false) :
bundle.getJobDetail().getJobClass()) :
super.createJobInstance(bundle));
if (isEligibleForPropertyPopulation(job)) {