Java中三种定时任务总结(schedule,quartz,xxl-job)
Java中实现定时任务的方式有多种,以下是常见的三种:
- Java内置的
java.util.Timer
类和java.util.TimerTask
类。 Quartz
是一个功能强大的任务调度库。XXL-JOB
是一个分布式任务调度平台。
1. java.util.Timer
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
// 执行的任务
}
}, 0, 60000); // 延迟0毫秒,然后每分钟执行一次
2. Quartz
// 创建Scheduler
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 定义Job
JobDetail job = JobBuilder.newJob(MyJob.class)
.withIdentity("myJob", "group1")
.build();
// 定义Trigger
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger", "group1")
.startNow()
.withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(10))
.build();
// 将Job和Trigger加入Scheduler
scheduler.scheduleJob(job, trigger);
// 启动Scheduler
scheduler.start();
3. XXL-JOB
// 配置调度中心地址
@XxlJobConfig(adminAddresses="http://127.0.0.1:8080/xxl-job-admin")
public class JobHandlerDemo {
// 任务Handler配置:注解方式
@XxlJob("demoJobHandler")
public void execute() throws Exception {
// 任务逻辑
}
}
这些例子展示了如何使用这三种定时任务的方式。具体使用时,需要根据项目需求和实际情况选择合适的方案。
评论已关闭