Java 定时任务:早上 9 点到下午 4 点执行 9 次
可以使用 Java 的定时任务框架 Quartz 来实现。
首先,需要在 pom.xml 文件中添加 Quartz 的依赖:
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
然后,创建一个 Job 类,用于执行定时任务:
package com.example.demo;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class MyJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
// 在这里编写定时任务的逻辑
System.out.println('执行定时任务');
}
}
接下来,创建一个 Scheduler 实例,并配置定时任务的执行时间和次数:
package com.example.demo;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
public class MyScheduler {
public static void main(String[] args) throws SchedulerException {
// 创建调度器
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 定义一个 JobDetail,指定 Job 类及其名称
JobDetail jobDetail = JobBuilder.newJob(MyJob.class)
.withIdentity('myJob', 'group1')
.build();
// 定义一个 Trigger,指定任务的执行时间和次数
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity('myTrigger', 'group1')
.startAt(DateBuilder.todayAt(9, 0, 0))
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(3600)
.withRepeatCount(8))
.build();
// 将 JobDetail 和 Trigger 注册到调度器中
scheduler.scheduleJob(jobDetail, trigger);
// 启动调度器
scheduler.start();
}
}
上述代码中,我们定义了一个每小时执行一次的定时任务,总共执行 9 次,从早上 9 点开始执行。
最后,运行 MyScheduler 类即可启动定时任务。
原文地址: https://www.cveoy.top/t/topic/m3Lf 著作权归作者所有。请勿转载和采集!