Java程序编写Quarz应用

153 阅读1分钟
导入

quartz

坐标


<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
</dependency>




定义一个

Job

public
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
对象
JobDetail
job
= JobBuilder.newJob(MyJob.
class
).build();
//2.
创建
Trigger
对象
Trigger
trigger
= TriggerBuilder
.newTrigger()
.withSchedule(SimpleScheduleBuilder.repeatSecondlyForTotalCount(5, 3))
.build();
//3.
创建
Scheduler
对象
Scheduler
scheduler
= 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
对象
JobDetail
job
= JobBuilder.newJob(MyJob.
class
).build();
//2.
创建
Trigger
对象
Trigger
trigger
= TriggerBuilder
.newTrigger()
//
日历表达式
.withSchedule(CronScheduleBuilder.cronSchedule(
"0 33 10 * * ? *"
)
)
.build();
//3.
创建
Scheduler
对象
Scheduler
scheduler
= StdSchedulerFactory.getDefaultScheduler();
//
关联
Job
Trigger
scheduler
.scheduleJob(
job
,
trigger
);
//4.
启动任务
scheduler
.start();
/* //
手动停止任务
//17
秒后停止任务
Thread.sleep(17000);
scheduler.shutdown();*/
}

}

更多技术咨询可关注:gzitcast