Browse Source

application.properties中配置quartz

master
xyiege 3 years ago
parent
commit
1d3018bc66
  1. 39
      src/main/java/cn/chjyj/szwh/task/TaskInit.java
  2. 12
      src/main/resources/application.properties

39
src/main/java/cn/chjyj/szwh/task/TaskInit.java

@ -0,0 +1,39 @@
package cn.chjyj.szwh.task;
import cn.chjyj.szwh.job.SzwhJob;
import org.quartz.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;
/**
* 定时任务任务配置
*/
@Component
public class TaskInit implements ApplicationRunner {
private static String sid="SZWH_Schedule";
@Autowired
private Scheduler scheduler;
@Override
public void run(ApplicationArguments args) throws Exception {
// 任务细节
JobDetail jobDetail = JobBuilder.newJob(SzwhJob.class)
.withIdentity(sid + " 01")
.storeDurably()
.build();
// cron 构建
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/5 * * * * ? *");
// 创建任务触发器
Trigger trigger = TriggerBuilder.newTrigger()
.forJob(jobDetail)
.withIdentity(sid + " 01Trigger")
.withSchedule(scheduleBuilder)
.startNow() //立即執行一次任務
.build();
// 手动将触发器与任务绑定到调度器内
scheduler.scheduleJob(jobDetail, trigger);
}
}

12
src/main/resources/application.properties

@ -25,3 +25,15 @@ spring.redis.jedis.pool.max-wait=-1
# 暂使用单机模式进行任务管理
spring.quartz.job-store-type=memory
# quartz 自动启动
spring.quartz.auto-startup=true
# 延迟5s启动
spring.quartz.startup-delay=5
# 应用关闭时候等待完成
spring.quartz.wait-for-jobs-to-complete-on-shutdown=true
# 覆盖已有 Job 的配置
spring.quartz.overwrite-existing-jobs=false
# 属性
spring.quartz.properties.org.quartz.threadPool.threadCount=5
spring.quartz.properties.org.quartz.threadPool.threadProirity=5
spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
Loading…
Cancel
Save