<!-- 在spring里面进行任务的注册,明确的告诉容器,一旦执行任务之后谁来处理 --> <bean id="myTask" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <!-- 此为任务执行之后的任务处理执行类 默认调用 executeInternal() 方法 --> <property name="jobClass" value="cn.mldn.util.MyTask" /> <property name="jobDataAsMap" > <map> <!-- 容器启动之后立即触发 --> <entry key="timeout" value="0" /> </map> </property> </bean> <!-- 此处配置的是一个间隔触发,既然是间隔触发就必须设置要触发的任务 --> <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> <property name="jobDetail" ref="myTask" /> <!-- 一旦触发立即执行的任务 --> <property name="startDelay" value="0" /> <!-- 立即触发 --> <property name="repeatInterval" value="2000"/> <!-- 每两秒触发一次 --> </bean> <!-- 设置定时触发 --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="myTask"/> <property name="cronExpression" value="0 * * * * ?"/> <!-- 每分钟进行触发 --> </bean> <!-- 定义调度工厂,调度工厂就相当于在容器启动的时候可以 --> <!-- 设置间隔触发器 --> <bean id="fBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <!-- 间隔触发操作 --> <ref bean="cronTrigger" /> </list> </property> </bean>
test (容器启动时调用 定时任务----需要quartz-2.2.1.jar)
public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); }