黑马程序员技术交流社区
标题: 【广州校区】【原创】Java程序编写Quarz应用 [打印本页]
作者: wuwei丶 时间: 2018-8-23 15:05
标题: 【广州校区】【原创】Java程序编写Quarz应用
本帖最后由 wuwei丶 于 2018-8-23 15:10 编辑
导入quartz坐标
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
</dependency>
定义一个Jobpublic class MyJob implements Job{
//任务被触发执行此方法
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("任务被调用了..."+new Date());
}
}
编写定时任务程序
两种不同Trigger:
1)简单触发器 (SimpleTrigger)
简单地按照秒,分,小时进行重复执行。
2)日历触发器 (CronTrigger)
按照日历规则(日历表达式)进行重复执行
简单触发器定时任务
public class SimpleTriggerDemo {
public static void main(String[] args) throws Exception {
//1.创建Job对象
JobDetailjob = JobBuilder.newJob(MyJob.class).build();
//2.创建Trigger对象
Triggertrigger = TriggerBuilder
.newTrigger()
.withSchedule(SimpleScheduleBuilder.repeatSecondlyForTotalCount(5, 3))
.build();
//3.创建Scheduler对象
Schedulerscheduler = StdSchedulerFactory.getDefaultScheduler();
//关联Job和Trigger
scheduler.scheduleJob(job, trigger);
//4.启动任务
scheduler.start();
//手动停止任务
//17秒后停止任务
Thread.sleep(17000);
scheduler.shutdown();
}
}
日历触发器定时任务public class CronTriggerDemo {
public static void main(String[] args) throws Exception {
//1.创建Job对象
JobDetailjob = JobBuilder.newJob(MyJob.class).build();
//2.创建Trigger对象
Triggertrigger = TriggerBuilder
.newTrigger()
//日历表达式
.withSchedule(CronScheduleBuilder.cronSchedule("0 33 10 * * ? *") )
.build();
//3.创建Scheduler对象
Schedulerscheduler = StdSchedulerFactory.getDefaultScheduler();
//关联Job和Trigger
scheduler.scheduleJob(job, trigger);
//4.启动任务
scheduler.start();
/* //手动停止任务
//17秒后停止任务
Thread.sleep(17000);
scheduler.shutdown();*/
}
}
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |