如何解决spring框架自带@Scheduled引发的冲突问题
1.@Scheduled定时器引发冲突问题如何处理?
不用处理,不用@Scheduled就没有冲突,正解
2.为何用到定时器?
项目开发中总是需要执行一些定时任务,比如定时处理数据之后发送邮件,定时更新缓存等等。
3.使用Quartz开源框架即可解决定时任务
4.引入jia包
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
5.创建两个测试类

6.测试代码如下
public class TestJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext){
String data = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println("START DATA BACKUP,current time:"+data);
}
}
-------------------------------------
public class TestScheduler{
public static void main(String[] args) throws Exception{
//获取任务调度的实例
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//定义任务调度实例,并与TestJob绑定
JobDetail job = JobBuilder.newJob(TestJob.class).withIdentity("testJob","testJobGroup").build();
//定义触发器,会马上触发一次,每5秒触发一次
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("testTrigger","testTriggerGroup").startNow().withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(5)).build();
//使用触发器调度任务的执行
scheduler.scheduleJob(job,trigger);
//开启任务
scheduler.start();
}
}
7.执行结果稳定输出

浙公网安备 33010602011771号