Quartz
来源:互联网 发布:翻译证书 知乎 编辑:程序博客网 时间:2024/06/11 07:53
-- Start
Quartz 简介
Quartz 是一个开源的任务调度框架。
下载 Quartz
你可以在 Google 中搜索 Quartz,然后到官网去下载最新的 Quartz 发行包。然后将 quartz-all-xxx.jar 添加到自己的 classpath 中,另外,由于 Quartz 本身依赖于一些第三方的组件,所以我们也需要将 lib 目录下的 jar 包也添加到 classpath 中。
一个简单的例子
import java.util.Date;import org.quartz.DailyTimeIntervalScheduleBuilder;import org.quartz.Job;import org.quartz.JobBuilder;import org.quartz.JobDetail;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.Trigger;import org.quartz.TriggerBuilder;import org.quartz.impl.StdSchedulerFactory;public class Test {public static void main(String[] args) throws Exception {try {// 获得调度器Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();// 启动调度器scheduler.start();// 定义任务JobDetail job = JobBuilder.newJob(HelloJob.class).withIdentity("HelloWorldJob", "defaultGroup").build();// 定义触发器Trigger trigger = TriggerBuilder.newTrigger().withIdentity("HelloWorldJob", "defaultGroup").withSchedule(DailyTimeIntervalScheduleBuilder.dailyTimeIntervalSchedule().withIntervalInSeconds(5) // 5 秒执行1次.withRepeatCount(3)) // 重复3次,共执行4次.startNow() // 立即启动.build();// 调度任务scheduler.scheduleJob(job, trigger);// 关闭调度器Thread.sleep(30 * 1000); // 等待 30 秒scheduler.shutdown();} catch (SchedulerException se) {se.printStackTrace();}}public static class HelloJob implements Job {public void execute(JobExecutionContext context) throws JobExecutionException {System.out.println("Hello World! - " + new Date());}}}
更多例子
Quartz 的功能非常丰富,如果你熟悉 Linux 的 crontab 服务,那么你就可以利用 CronTrigger 来定义任务。如果你想让一个任务依赖与另一个任务,那么你就可以利用 JobListener 来达到目的,在 Quartz 发行包的examples文件夹下,你可以找到更多的例子。
-- 更多参见:Open Source 精萃
-- 声 明:转载请注明出处
-- Last Updated on 2012-08-16
-- Written by ShangBo on 2012-07-28
-- End
- Quartz
- quartz
- Quartz
- Quartz
- quartz
- quartz
- quartz
- Quartz
- Quartz
- Quartz
- Quartz
- Quartz
- Quartz
- Quartz
- quartz
- Quartz
- Quartz
- quartz
- java Math语法
- char*内存变量的管理
- SCVMM 2012 分布式密钥管理
- 多个onclick在一起只执行最后一个的问题解,其它是事件处理引发的问题 (JavaScript的监听事件函数attachEvent和addEventListener)
- 学习情况
- Quartz
- erlang Record
- jsp页面某项数据太长用特殊符号代替和全选并删除功能的实现
- 黑马程序员 多线程学习
- Android获取屏幕大小
- Qt Creator创建纯C、c++工程
- struts1之LocaleAction、DynaActionForm
- scrot 一个好用的Linux截图工具
- 常见b2c网站购物车的设计