我正在创建一个JobDetail,如下所示,
JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity(queryId).usingJobData("ExecutionDelay",1).build();
我希望它在1小时后首次运行。
相同的触发器如下,
Trigger trigger = TriggerBuilder.newTrigger().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInHours(1)).build();
但是,当我在一个类中创建上述代码的多个线程时,就会立即触发一些作业的作业。
不确定是什么问题。可以帮助一些人。
答案 0 :(得分:0)
这很可能是因为您在创建触发器时未设置start time。如果没有明确设置开始时间,则假定当前时间(新的Date()),然后根据您的触发器的失火指令(默认为SMART_POLICY)和时间,可能会立即触发作业。
要解决此问题,您需要将触发器的开始时间设置为“新日期()+ 1小时”。