quartz

本文展示了如何在Java中使用Quartz库创建和执行定时任务。通过`TestQuartz_task`类实现了打印HelloWorld及当前时间的任务,并在`TestQuartz_execute`类中配置了调度器,设定任务按5秒间隔执行3次,最后在100秒后停止。
摘要由CSDN通过智能技术生成

java中线程中quartz的了解

package Thread;

import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class TestQuartz_task implements Job {

public TestQuartz_task() {
}
public void execute(JobExecutionContext context)
    throws JobExecutionException {
	   System.out.println("----start----");
       System.out.println("Hello World! - " + new Date());
       System.out.println("----end----");
}

}

package Thread;
import static org.quartz.DateBuilder.evenSecondDateAfterNow;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.TriggerBuilder.newTrigger;

import org.quartz.Job;
import org.quartz.JobDetail;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import java.util.Date;
//执行
public class TestQuartz_execute {

public void run() throws Exception {
//1.创建Scheduler工厂
SchedulerFactory sf = new StdSchedulerFactory();
//2.从工厂中获取调度器
Scheduler sched = sf.getScheduler();
//时间
Date runTime = evenSecondDateAfterNow();
//3.创建JobDetail任务
JobDetail job = newJob(TestQuartz_task.class).withIdentity(“job1”, “group1”).build();
//4.触发条件
//单次执行
//Trigger trigger = newTrigger().withIdentity(“trigger1”, “group1”).startAt(runTime).build();
//多次执行
//每5秒执行一次 一共执行3次
Trigger trigger = newTrigger().withIdentity(“trigger1”, “group1”).startAt(runTime)
.withSchedule(simpleSchedule().withIntervalInSeconds(5).withRepeatCount(3)).build();
//5.注册任务和触发条件
sched.scheduleJob(job, trigger);
//6.启动
sched.start();
try {
//100秒之后停下来
Thread.sleep(100L * 1000L);
} catch (Exception e) {
}
sched.shutdown(true);
}

public static void main(String[] args) throws Exception {

  TestQuartz_execute example = new TestQuartz_execute();
example.run();

}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值