В моем проекте есть планировщик Quartz, и я устанавливаю JobDetailBean как
<bean id="deadlineFailureChecker" class="info.release.scheduler.DeadlineFailureChecker" />
<bean id="workingHourPerDayUpdater" class="info.release.scheduler.WorkingHourPerDayUpdater" />
<bean name="scheduledJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="info.release.scheduler.ScheduledJob" />
<property name="jobDataAsMap">
<map>
<entry key="deadlineFailureChecker" value-ref="deadlineFailureChecker" />
<entry key="workingHourPerDayUpdater" value-ref="workingHourPerDayUpdater" />
</map>
</property>
</bean>
Теперь, когда я хочу передать значение свойства в info.release.scheduler.ScheduledJob, я сделал:
<bean id="scheduledJobBean" class="info.release.scheduler.ScheduledJob">
<property name="afrodite" ref="afrodite" />
</bean>
<bean name="scheduledJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<bean factory-bean="scheduledJobBean" factory-method="getClass"></bean>
</property>
<property name="jobDataAsMap">
<map>
<entry key="deadlineFailureChecker" value-ref="deadlineFailureChecker" />
<entry key="workingHourPerDayUpdater" value-ref="workingHourPerDayUpdater" />
</map>
</property>
</bean>
Но следующее System.out.println
печатает null
:
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
System.out.println("============================================="+this.afrodite);
}
Этот метод относится к info.release.scheduler.ScheduledJob extends QuartzJobBean
.
Я также провел эксперимент, я установил
<bean id="scheduledJobBean" class="info.release.scheduler.ScheduledJob">
<property name="afrodite" ref="afrodite" />
</bean>
Кому
<bean id="scheduledJobBean" class="info.release.scheduler.ScheduledJob" init-method="init">
<property name="afrodite" ref="afrodite" />
</bean>
и
public void init() {
System.out.println("============================================="+this.afrodite);
}
В этой инициализации System.out.println
не печатает ноль, а значение.
Я не могупонять, что происходит!Является ли JobDetailBean для создания экземпляра объекта jobClass?
Мне нужно установить свойство класса значений свойства jobClass
, равное JobDetailBean
.
Спасибо и всего наилучшего.