java - 如何重新安排 Quartz 触发器?
问题描述
我正在努力学习石英。我有主要方法
public static void main(String[] args) throws SchedulerException {
try {
JobDetail job1 = JobBuilder.newJob(Job1.class).withIdentity("job1", "group1").build();
Trigger trigger1 = TriggerBuilder.newTrigger().withIdentity("cronTrigger1", "group1")
.withSchedule(CronScheduleBuilder.weeklyOnDayAndHourAndMinute(3, 12, 38)).build();
Scheduler scheduler1 = new StdSchedulerFactory().getScheduler();
scheduler1.start();
scheduler1.scheduleJob(job1, trigger1);
scheduler1.shutdown();
}
catch (Exception e) {
e.printStackTrace();
}
哪个工作正常。它在一周的第三天下午 12:38 打印到控制台。现在,我想做的是重新安排触发器,以便它删除以前存储的触发器并使用新的日程表创建一个新触发器。
我在很多地方读了很多东西,但我似乎无法清楚地理解我实际上必须做什么,例如:
public void execute(JobExecutionContext context) throws JobExecutionException {
Trigger newTigger = what ever you want;
Trigger oldTrigger = context.getTrigger()
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.rescheduleJob(oldTrigger.getKey(), newTrigger);
}
- 告诉调度程序用给定的键删除旧的触发器,并把新的触发器放在它的位置*
但我无法理解这种方法(虽然我确实理解代码中发生的事情)。提前致谢。
解决方案
推荐阅读
- oracle - 在 docker 中将 Oracle 转储表导入 Oracle 数据库
- wordpress - 如何使用“WooCommerce 的折扣规则”插件 woocommerce 以销售百分比和主页显示销售额
- sql-server - MSSQL 重复事务日志已满。需要知道是谁造成的
- sql - 从数据库中随机选择每个客户的订单
- python - TypeError: __init__() 接受 1 个位置参数,但给出了 2 个,不和谐的公告机器人
- python - 熊猫不从文件夹中的 html 文件中读取表格
- javascript - 如何在开始时显示一个空图表并在按钮单击时填充值
- php - Symfony Panther - 访问安全的 iframe?
- reactjs - 获取“'AsyncThunkAction<*> 类型的参数不可分配给'Action 类型的参数
" 当使用自定义类型的 useAppDispatch 钩子时 - ios - Siri Shortcuts 可以处理动态短语和变量吗