美文网首页
Spring job动态修改

Spring job动态修改

作者: 猿人记 | 来源:发表于2017-11-09 15:22 被阅读0次

    java 中的定时任务quartz,已整合到spring中,如何动态调整任务的触发时间,以下是知识点:

    /**
     *  修改 creatRptTrigger 定义的运行时间
     */
    public void setReptTime(String cronEx){
            try{
                TriggerKey triggerKey  = TriggerKey.triggerKey("creatRptTrigger", Scheduler.DEFAULT_GROUP);  
                CronTrigger trigger = (CronTrigger) scheduler.getTrigger(triggerKey); 
                //表达式调度构建器  
                CronScheduleBuilder scheduleBuilder = CronScheduleBuilder
                        //防止定时器立即触发,开始时间从现在开始计时
                        .cronSchedule(cronEx).withMisfireHandlingInstructionDoNothing();  
                //按新的cronExpression表达式重新构建trigger  
                trigger = trigger.getTriggerBuilder().withIdentity(triggerKey).withSchedule(scheduleBuilder).build();  
                //按新的trigger重新设置job执行  
                scheduler.rescheduleJob(triggerKey, trigger);
            }catch(Exception ex){
                ex.printStackTrace();
            }
        }
    

    相关文章

      网友评论

          本文标题:Spring job动态修改

          本文链接:https://www.haomeiwen.com/subject/wbzpmxtx.html