调度方法
1)Java自带的java.util.Timer类,只能按照频度不能按照指定时间运行
2)使用Quartz,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂
3)Spring3.0以后自带的Task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多
作业类
- 需要继承
Quartz中需要继承org.springframework.scheduling.quartz.QuartzJobBean;java.util.Timer中需要继承自java.util.TimerTask - 不需要继承
普通类(推荐)
触发器
- 每隔指定时间则触发一次
在Quartz中对应的触发器为:-org.springframework.scheduling.quartz.SimpleTriggerBean - 每到指定时间则触发一次
在Quartz中对应的调度器为:org.springframework.scheduling.quartz.CronTriggerBean
Quartz普通类
1)添加jar包
无论继不继承,除了Spring的spring-context和spring-context-support还要添加quartz-all-1.6.0.jar ; jta.jar ;
2)定义做业
package com.quartz;
import java.text.SimpleDateFormat;
import java.util.Date;
public class QuartzTest{
public void doJob(){
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
}
}
3)配置作业类
<?xml version="1.0" encoding="UTF-8" ?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="job"