mirror of
https://github.com/Hello-hao/Tbed.git
synced 2024-04-21 12:32:10 +00:00
49 lines
1.6 KiB
Java
49 lines
1.6 KiB
Java
package cn.hellohao.quartz;
|
|
|
|
import cn.hellohao.quartz.job.FirstJob;
|
|
import org.quartz.JobDetail;
|
|
import org.quartz.Trigger;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean;
|
|
import org.springframework.scheduling.quartz.SchedulerFactoryBean;
|
|
import org.springframework.scheduling.quartz.SimpleTriggerFactoryBean;
|
|
|
|
@Configuration
|
|
public class QuartzConfiguration {
|
|
|
|
// 配置定时任务1
|
|
@Bean(name = "firstJobDetail")
|
|
public MethodInvokingJobDetailFactoryBean firstJobDetail(FirstJob firstJob) {
|
|
MethodInvokingJobDetailFactoryBean jobDetail = new MethodInvokingJobDetailFactoryBean();
|
|
// 是否并发执行
|
|
jobDetail.setConcurrent(true);
|
|
// 为需要执行的实体类对应的对象
|
|
jobDetail.setTargetObject(firstJob);
|
|
// 需要执行的方法
|
|
jobDetail.setTargetMethod("task");
|
|
return jobDetail;
|
|
}
|
|
|
|
// 配置触发器1
|
|
@Bean(name = "firstTrigger")
|
|
public SimpleTriggerFactoryBean firstTrigger(JobDetail firstJobDetail) {
|
|
SimpleTriggerFactoryBean trigger = new SimpleTriggerFactoryBean();
|
|
trigger.setJobDetail(firstJobDetail);
|
|
// 设置任务启动延迟
|
|
trigger.setStartDelay(0);
|
|
// 单位毫秒 60000是一分钟
|
|
trigger.setRepeatInterval(60000);
|
|
return trigger;
|
|
}
|
|
|
|
@Bean(name = "scheduler")
|
|
public SchedulerFactoryBean schedulerFactory(Trigger firstTrigger, Trigger secondTrigger) {
|
|
SchedulerFactoryBean bean = new SchedulerFactoryBean();
|
|
// 延时启动,应用启动5秒后
|
|
bean.setStartupDelay(5);
|
|
// 注册触发器
|
|
bean.setTriggers(firstTrigger, secondTrigger);
|
|
return bean;
|
|
}
|
|
} |