可以使用 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 类即可启动定时任务。

Java 定时任务:早上 9 点到下午 4 点执行 9 次

原文地址: https://www.cveoy.top/t/topic/m3Lf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录