开发者社区> 问答> 正文

java quartz2.2.1怎么更新trigger,我根据官网的例子测试 执?报错

this.buildScheduler();

TriggerKey triggerKey = TriggerKey.triggerKey("test", TRIGGERGROUP);
CronTrigger trigger = (CronTrigger) this.scheduler.getTrigger(triggerKey);

trigger.getTriggerBuilder().withIdentity(triggerKey)
.withSchedule(CronScheduleBuilder.cronSchedule("*/2 * * * * ?")).build();

this.scheduler.rescheduleJob(triggerKey, trigger);


我开始设置5s一次,现在用新的trigger替换旧的,为什么没效果?求指导

展开
收起
爱吃鱼的程序员 2020-06-12 14:02:21 880 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    改过后的trigger没指向原始trigger,写成这样:

    trigger=  trigger.getTriggerBuilder().withIdentity(triggerKey)
    .withSchedule(CronScheduleBuilder.cronSchedule("*/2****?")).build();

    收工。

    引用来自“Steve”的评论

    改过后的trigger没指向原始trigger,写成这样:

    trigger=  trigger.getTriggerBuilder().withIdentity(triggerKey)
    .withSchedule(CronScheduleBuilder.cronSchedule("*/2****?")).build();

    收工。

    引用来自“Steve”的评论

    改过后的trigger没指向原始trigger,写成这样:

    trigger=  trigger.getTriggerBuilder().withIdentity(triggerKey)
    .withSchedule(CronScheduleBuilder.cronSchedule("*/2****?")).build();

    收工。

    引用来自“Steve”的评论

    改过后的trigger没指向原始trigger,写成这样:

    trigger=  trigger.getTriggerBuilder().withIdentity(triggerKey)
    .withSchedule(CronScheduleBuilder.cronSchedule("*/2****?")).build();

    收工。

    一个工程一个调度器够了,你应该是其他地方的问题,这么更新没问题的。

    引用来自“Steve”的评论

    一个工程一个调度器够了,你应该是其他地方的问题,这么更新没问题的。那问题很明显了,你新创建了一个StdSchedulerFactory或者Scheduler,而不是原先的Scheduler。

    引用来自“Steve”的评论

    那问题很明显了,你新创建了一个StdSchedulerFactory或者Scheduler,而不是原先的Scheduler。写个工厂方法啊,保证是单例就好了。

    引用来自“Steve”的评论

    写个工厂方法啊,保证是单例就好了。
    2020-06-12 14:02:39
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载