1. 程式人生 > >解決quartz的job無法注入spring物件

解決quartz的job無法注入spring物件

package com.xiaoye.app.schedule;
import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;

public class JobFactory extends org.springframework.scheduling.quartz.SpringBeanJobFactory {
	@Autowired
	private AutowireCapableBeanFactory beanFactory;
	/**
	 * 
	 * 這裡覆蓋了super的createJobInstance方法,對其創建出來的類再進行autowire。
	 * 
	 */
	@Override
	protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {
		Object jobInstance = super.createJobInstance(bundle);
		beanFactory.autowireBean(jobInstance);
		return jobInstance;
	}
}

定時任務類: