spring 定时任务之 quartz 【转】 spring 定时任务之 quartz yingjie/archive/2010/07/14/32605 在 Spring 中, 使用 JDK 的 Timer 类库来做任务调度功能不是很方便, 关键它不可以象 cron 服务那样可以指定具体年、月、日、时和分的时间。你只能将时间通过换算成微秒后传给它。如任务是每天执行一次,则需要在 spring 中如下配置: - <bean id="scheduledTask" class= ""> <! --程序启动后开始执行任务的延迟时间-- > <property name="delay" value="0" /> <! --每隔一天【一天= 24× 60× 60× 1000 微秒】执行一次-- > <property name="period" value="86400000" /> <! --业务统计报表 bean -- > <property name="timerTask" ref="businessReport" /> </bean> - 其中 period 就是一天的微秒数。如果每月 1 日运行一次,那就复杂了, 不知如何配置。因为月份有大、小月之分, 每月的微秒数都不一样。-而 Quartz 类库不但有着上述 JDK 的 Timer 类库类似的配置,更重要的, 它还有着类似于 unix 的 cron 服务的配置。因此, 在迁移中我们采用了 Quartz 类库的接口。具体的步骤如下: 1 编写业务类, ., 主要的逻辑在 execut e 方法中编写 2 配置 spring 的 文件 配置任务 JobDetailBean 配置触发器 CronTriggerBean 配置调度器 SchedulerFactoryBean 3 所需要的 jar 包: ,-logging--dbc p--pool- 4把 放到类路径下以下为一个 demo 业务类: Java 代码 package task; import ; .; .; public class BusinessReport .{ public void perform(){ // 执行报表统计入口函数// 业务逻辑 (" 开始执行报表的业务逻辑了---- 现在的时间是--"+new Date()); } public void execute(JobExecutionContext arg0) throws JobExecutionException { perform(); }} 文件<?xml version="" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "/spring-"> <!-- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" ":/spring-"> --> <beans> <bean id="businessReport" class="" /> <bean name="reportTask" class="" > <property name="jobClass" value="" /> </bean> <!-- 触发器--> <bean id="cronTrigger" class=" n"> <!-- 指向我们的任务--> <property name="jobDetail" ref="reportTask" /> <!-- 每天下午 16点 50 分到 55分, 每分钟运行一次--> <property name="cronE
spring定时任务之quartz 来自淘豆网m.daumloan.com转载请标明出处.