quartz定时器的处理

本文详细介绍了如何使用Quartz定时器动态改变执行间隔时间。通过接口调用,可以将定时任务的执行间隔设置为2分钟、5分钟或10分钟。此外,还提供了启动、删除和暂停定时任务的工具类方法。
摘要由CSDN通过智能技术生成

System.out.println(“执行了这个方法”);

}

private Scheduler scheduler;

public Scheduler getScheduler() {

return scheduler;

}

public void setScheduler(Scheduler scheduler) {

this.scheduler = scheduler;

}

public void restJob(long time) {

TriggerKey triggerKey = new TriggerKey(“testTrigger”, Scheduler.DEFAULT_GROUP);

SimpleTriggerImpl simpleTrigger = null;

try {

simpleTrigger = (SimpleTriggerImpl) scheduler.getTrigger(triggerKey);

} catch (SchedulerException e) {

e.printStackTrace();

}

simpleTrigger.setRepeatInterval(time);

try {

scheduler.rescheduleJob(triggerKey, simpleTrigger);

} catch (SchedulerException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

下面的配置,是为了动态调用方法,用来改变quartz执行的间隔时间

private Scheduler scheduler;

public Scheduler getScheduler() {

return scheduler;

}

public void setScheduler(Scheduler scheduler) {

this.scheduler = scheduler;

}

public void restJob(long time) {

TriggerKey triggerKey = new TriggerKey(“testTrigger”, Scheduler.DEFAULT_GROUP);

SimpleTriggerImpl simpleTrigger = null;

try {

simpleTrigger = (SimpleTriggerImpl) scheduler.getTrigger(triggerKey);

} catch (SchedulerException e) {

e.printStackTrace();

}

simpleTrigger.setRepeatInterval(time);

try {

scheduler.rescheduleJob(triggerKey, simpleTrigger);

} catch (SchedulerException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

5、动态调用接口,来改变quartz的执行间隔

其中value的taskJob来自于xml中的配置

@Autowired

@Qualifier(value = “taskJob”)

private TestTask job;

6、 完整的接口配置,如下所示,通过简单调用接口方式,动态调节定时器执行时间

@Autowired

@Qualifier(value = “taskJob”)

private TestTask job;

//两分钟一次

private static Long Time1 = 120000L;

//五分钟一次

private static Long Time2 = 300000L;

//10分钟一次

private static Long Time3 = 600000L;

@GetMapping(“/job/{time}/{key}”)

@ResponseBody

public Result job(@PathVariable(“time”) Long time,@PathVariable(“key”) String key) {

if (key.equals(“wwjsj”)&& time!=null) {

if(time==2){

System.out.println(“调整为2分钟”);

job.restJob(Time1);

}else if(time==5){

System.out.println(“调整为5分钟”);

job.restJob(Time2);

}else {

System.out.println(“调整为10分钟”);

job.restJob(Time3);

}

}

Syst

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值