<? xml version="1.0" encoding="UTF-8" ?>
<! DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd" >
< beans >
<!-- 起动Bean -->
< bean id ="mytask" class ="org.springframework.scheduling.quartz.SchedulerFactoryBean" >
< property name ="triggers" >
< list >
< ref bean ="cronReportTrigger" />
</ list >
</ property >
</ bean >
<!-- 实际的工作Bean -->
< bean id ="TaskDetail" class ="test.TaskDetail" >
</ bean >
<!-- jobBean用于设定启动时运用的Bean与方法 -->
< bean id ="scheduledReportJobDetail" class ="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" >
< property name ="targetObject" >
< ref bean ="TaskDetail" />
</ property >
< property name ="targetMethod" >
< value > sendTaskDetailMessage</ value >
</ property >
</ bean >
<!-- 定时器设定起动频率&启动时间我设的是每5秒起动一次 (0 0 4 * * ?每日四点起动.) -->
< bean id ="cronReportTrigger" class ="org.springframework.scheduling.quartz.CronTriggerBean" >
< property name ="jobDetail" >
< ref bean ="scheduledReportJobDetail" />
</ property >
< property name ="cronExpression" >
< value > 10,40 * * * * ? </ value >
</ property >
</ bean >
</ beans >]
程序能够找到mytask里面的方法,也能实现定时执行,如果mytask仅仅只是执行sendTaskDetailMessage方法,且方法里只有打印语句不会出任何问题。从某总程度上来说定时执行的功能可以实现。
但是在Spring mvc模式下,我的controller里面的方法中涉及到@注释注入的Service,通过Service来执行程序,导致Service一直报空指针异常!