返回介绍

使用 Quartz 来执行定时任务 resty-quartz

发布于 2025-05-02 19:11:48 字数 2348 浏览 0 评论 0 收藏 0

1. 在 jobs.properties 里配置启动执行的任务

基本 quartz 配置,在 resources 下创建 quartz 目录,并在 quartz 目录下新建 quartz.properties 和 jobs.properties

#quartz.properties
#==================================================
# 配置实例名和 id
#==================================================
org.quartz.scheduler.instanceName = defaultScheduler
org.quartz.scheduler.instanceId: default
org.quartz.scheduler.skipUpdateCheck: true

#==================================================
# 配置线程池
#==================================================
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 5
org.quartz.threadPool.threadPriority: 5

#==================================================
# 配置 JobStore
#==================================================
org.quartz.jobStore.misfireThreshold: 600000

#org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
#org.quartz.jobStore.useProperties=false
#org.quartz.jobStore.dataSource=db.migration.default
#org.quartz.jobStore.tablePrefix=QRTZ_
#org.quartz.jobStore.isClustered=true

#==================================================
# 配置数据库
#==================================================
#org.quartz.dataSource.db.migration.default.connectionProvider.class = cn.dreampie.common.plugin.quartz.QuartzConnectionProvider
#jobs.properties
#daily 为 job 的名字
job.daily.class=com.shengmu.resource.DailyJob
#group 非必须
job.daily.group=daily
#once 和 cron 属性 如果都没有  那么只在启动项目的时候 执行一次
#job.daily.once=指定时间(执行一次)
#每天 2点执行
job.daily.cron=0 0 2 * * ?(循环执行)
#是否启用该任务
job.daily.enable=true

2. 通过 new 的方式来创建临时任务

new QuartzOnceJob(group, name, onceTime, clazz).addParam("k", "v").start();
new QuartzCronJob(group, name, jobCron, clazz).addParam("k", "v").start();

3. 编写一个 job 执行类

public class DailyJob implements Job {
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        //获取传入的参数
        //Map data = jobExecutionContext.getJobDetail().getJobDataMap();
        //Object date = data.get("date");
        //执行你的操作
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。