文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
使用 Quartz 来执行定时任务 resty-quartz
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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论