Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用带spring配置的quartz运行多个计划_Spring_Quartz Scheduler - Fatal编程技术网

如何使用带spring配置的quartz运行多个计划

如何使用带spring配置的quartz运行多个计划,spring,quartz-scheduler,Spring,Quartz Scheduler,在我的情况下,客户可以安排工作。正如我所看到的,quartz经常使用cronExpression来执行调度。但是有很多客户机有很多计划,我不能编写很多触发器bean,因为我不知道实际有多少计划,这取决于客户机。那么,有人能帮上忙吗?Quartz设计用于在运行时添加和删除作业和触发器。Spring是一种退化的情况,其中所有触发器和作业都是在启动时定义的。在Quartz中,当拥有调度程序实例时,您可以根据自己的意愿轻松创建、浏览和删除触发器,例如: 请参阅,尤其是 还要区分作业(应该执行的类中包装的

在我的情况下,客户可以安排工作。正如我所看到的,quartz经常使用cronExpression来执行调度。但是有很多客户机有很多计划,我不能编写很多触发器bean,因为我不知道实际有多少计划,这取决于客户机。那么,有人能帮上忙吗?

Quartz设计用于在运行时添加和删除作业和触发器。Spring是一种退化的情况,其中所有触发器和作业都是在启动时定义的。在Quartz中,当拥有调度程序实例时,您可以根据自己的意愿轻松创建、浏览和删除触发器,例如:

请参阅,尤其是


还要区分作业(应该执行的类中包装的一段代码)和作业执行时的触发时间条件。请记住,默认情况下,当与作业关联的最后一个触发器可以触发多个触发器时,该作业将从计划程序中删除。

您应该区分触发器和作业的定义,许多作业可以使用同一个触发器。真正的问题是什么?那么您应该为不同的客户端动态地重新创建作业触发器。如上所述连接SchedulerFactoryBean。我们将使用这个BeanWiredSpring服务来创建我们的日程安排。这是必要的,如上例所述。那么StdSchedulerFactory.getDefaultScheduler;?
// Define job instance
JobDetail job1 = newJob(ColorJob.class)
    .withIdentity("job1", "group1")
    .build();

// Define a Trigger that will fire "now", and not repeat
Trigger trigger = newTrigger()
    .withIdentity("trigger1", "group1")
    .startNow()
    .build();

// Schedule the job with the trigger 
schedulder.scheduleJob(job, trigger);