resty Quartz执行定时任务
Dreampie 人气:01. 在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"); //执行你的操作 } }
加载全部内容