使用Quartz实现作业调度(二)
来源:互联网 发布:视频综合平台软件 编辑:程序博客网 时间:2024/06/05 19:59
源码如下:
SimpleQuartzJob.java
package cn.javaoop.dream.quartz;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
/**
* 读取D盘文件将其内容写入C盘文件中
* @author JavaChaos
*
*/
public class SimpleQuartzJob implements Job {
@Override
public void execute(JobExecutionContext context)
throws JobExecutionException {
System.out.println(context.getTrigger().getName());
try {
File file = new File(”D:/test.txt”);
if (file.canExecute()) {
FileWriter writer = new FileWriter(”C:/test.txt”);// 写入C盘文件
FileReader reader = new FileReader(”D:/test.txt”);// 读取D盘文件
writer.write(reader.read());
System.out.println(”写入成功”);
} else {
System.out.println(”文件不存在”);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
CronTriggerRunner.java
package cn.javaoop.dream.quartz;
import java.text.ParseException;
import org.quartz.CronExpression;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
/**
* 每隔5秒钟检查D盘有无test.txt,如果有则复制到C盘
*
* @author JavaChaos
*
*/
public class CronTriggerRunner {
public void task() throws SchedulerException {
// 初始化一个调度工厂
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
// 初始化一个调度器
Scheduler scheduler = schedulerFactory.getScheduler();
// JobDetail对象相当于你要调度得任务
JobDetail jobDetail = new JobDetail(”jobDetail-c1″,
”jobDetailGroup-s1″, SimpleQuartzJob.class);
// CronTrigger对象相当于你的配置信息
CronTrigger cronTrigger = new CronTrigger(”cronTrigger”,
”triggerGroup2″);
try {
// cron表达式
CronExpression expression = new CronExpression(”0/5 * * * * ?”);// 每隔5秒执行一次。表达式很强大
// 可以阅读一下相关帮助文档
// 把Cron表达式传给CronTrigger
cronTrigger.setCronExpression(expression);
// 传入参数
scheduler.scheduleJob(jobDetail, cronTrigger);
// 开始进行调度
scheduler.start();
} catch (ParseException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
CronTriggerRunner runner = new CronTriggerRunner();
runner.task();
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}
这个例子将上篇日志例子中得SimpleTrigger对象换成了CronTrigger对象。CronExpression类提供得表达式,你可以自己定义运行得时间、周期。更多得使用方法可以阅读相关帮助文档。
下一次会介绍将Quartz整合入Spring中。Srping估计都不会陌生,两者整合灵活性、安全性有了更好得提升。
本人博客:dream.javaoop.cne
- 使用Quartz实现作业调度(二)
- 使用quartz实现作业调度
- 使用Quartz实现作业调度(一)
- Java使用quartz实现作业调度
- quartz 实现作业调度
- Jfinal+quartz实现作业调度
- Quartz.NET 实现作业调度
- 用Quartz实现作业调度
- Jfinal+quartz实现作业调度
- Quartz.NET实现作业调度
- spring 使用xml配置文件实现quartz作业调度
- 作业调度(Quartz)技术总结(二)
- Timer, Quartz 和 Spring 实现作业调度
- Timer, Quartz 和 Spring 实现作业调度
- Spring联姻Quartz实现作业调度
- Spring+Quartz 实现自动作业调度
- Quartz.NET 2.0 作业调度框架使用
- 使用quartz进行自定义作业调度
- Sql Server2005 Transact-SQL 排名函数
- 每個開發人員現在應該下載的十種必備工具
- 用javascript模拟的select选择框
- DateOption.js
- 静态局部变量
- 使用Quartz实现作业调度(二)
- linux命令和技巧
- Excel 中 vbA 获得有效行数的方法
- 学习
- 关于ant的安装
- 输入两个字符串,返回较长的一个
- IMDB Top 250电影推荐
- 变量名的问题
- Unix learning