標籤:注入 schedule blog 時間 except 擷取資料 tailf prot 定時
<!-- quartz定時器,定時器的類--自己用的類 --> <bean id="jobDetailFactoryBean" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <property name="jobClass" value="com.myk.oe.utils.QuartzTask"></property> </bean> <!-- 配置執行時間和規則 --> <bean id="quartzTask" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="jobDetailFactoryBean"></property> <!-- 5秒一次 --> <property name="cronExpression" value="0/5 * * * * ?"></property> </bean> <!-- 將bean注入到定時器的類 --> <bean id="jobFactory" class="com.myk.oe.quartz.util.JobFactory"></bean> <!-- 總管理類 如果將lazy-init=‘false‘那麼容器啟動就會執行發送器 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false"> <property name="triggers"> <list> <ref bean="quartzTask" /><!-- 任務 --> </list> </property> <property name="jobFactory" ref="jobFactory"></property> <property name="autoStartup" value="true"/><!-- 自動開始 --> </bean>
定義好定時任務的相關類,在類中調用dao或者service的時候會報null 指標異常,
在定時任務的類上加註解@DisallowConcurrentExecution就可以注入service和dao了
@DisallowConcurrentExecutionpublic class QuartzTask extends QuartzJobBean{ @Resource(name="appointmentServiceImpl") private AppointmentService appointmentService;//這是服務類 @Override protected void executeInternal(JobExecutionContext context) throws JobExecutionException { List<Appointment> appointments = appointmentService.getAppointments();//擷取資料 System.err.println(appointments); }}
quartzy的spring注入問題