我从春季4.3.2升级到春季4.3.16:
后会遇到以下错误org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'schedulerFactory': FactoryBean which is currently in creation returned null from getObject
我正在将石英调度程序注入我的豆子之一,如下所示:
//xml config
<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="byName">
<property name="jobFactory">
<bean class="org.springframework.scheduling.quartz.SpringBeanJobFactory"/>
</property>
<property name="applicationContextSchedulerContextKey" value="applicationContext"/>
<property name="dataSource" ref="myDS" />
<property name="triggers">
<list>
<ref bean="updateTrigger"/>
<ref bean="queueUpdateTrigger"/>
</list>
</property>
<property name="quartzProperties">
<props>
<prop key="org.quartz.scheduler.instanceName">MyQuartzScheduler</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.jobStore.class">org.quartz.impl.jdbcjobstore.JobStoreTX</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
<prop key="org.quartz.jobStore.clusterCheckinInterval">60000</prop>
<prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.oracle.OracleDelegate</prop>
<prop key="org.quartz.jobStore.tablePrefix">QRTZ_</prop>
<prop key="org.quartz.threadPool.threadCount">2</prop>
<prop key="org.quartz.threadPool.threadPriority">5</prop>
<prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool</prop>
<prop key="org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread">true</prop>
</props>
</property>
</bean>
<bean name="UpdateJobUtils" class="app.job.UpdateJobUtils" autowire="byType">
<property name="schedulerFactory" ref="schedulerFactory" />
</bean>
//bean
public class UpdateJobUtils {
private StdScheduler schedulerFactory;
public void setSchedulerFactory(StdScheduler schedulerFactory) {
this.schedulerFactory = schedulerFactory;
}
...
}
这在春季4.3.2上工作,直到4.3.14。我看到https://jira.spring.io/browse/spr-16439被返回到4.3.15,所以我想知道它是否会改变我应该使用此类的方式?
SchedulerFactory在其配置上具有autowire =" byname"。
我不确定为什么会在那儿,但是删除它似乎已修复了例外。