我正在阅读关于调度的Spring3.0doc。我倾向于春天的JobDetailBean石英。但是,@调度的注释吸引了我的眼球。这似乎是使用Spring框架调度任务的另一种方式。基于文档,Spring提供了三种调度方式:
我对JDK计时器没有兴趣。为什么我要选择“排定”而不是“石英”?(当我提到Quartz时,我的意思是将Spring的bean包装用于Quartz)。
假设我的用例非常复杂,我将与第三方web服务通信,以便在指定的时间间隔内导入和导出数据。
发布于 2010-12-08 09:49:21
石英比Spring内置的调度程序复杂一个数量级,包括对持久化、事务性和分布式作业的支持。不过,这有点像猪,即使有Spring的API支持。
如果您只需每隔X秒或按cron计划在bean上执行方法,那么@Scheduled (或Spring的配置模式中的各种选项)可能就足够了
发布于 2017-09-14 19:06:48
我必须说明我自己关于在Spring应用程序中使用@Scheduled与Quartz作为调度实现的经验。
调度作业有以下要求:
因此,我们必须尝试使用Quartz实现(Version2.2.3)来支持数据库中作业的持久性。一些基本结论如下:
JobListener和TriggerListener维护了一些关于用户定义的计划作业的有用(并且更面向用户的)信息。发布于 2019-05-22 06:08:06
根据石英文献
我们可以使用@Scheduler中不存在的一些更复杂的特性。例如:
scheduler.standby();在备用模式下放置调度程序,并用scheduler.start();重新调度它。scheduler.shutdown(true);和scheduler.shutdown(false);关闭调度程序
JobDetail job1 =newJob(MyJobClass.class). withIdentity("job1","group1"). storeDurably(). build();
JobDetail job1 = newJob(MyJobClass.class). withIdentity("job1", "group1"). build();
https://stackoverflow.com/questions/4385719
复制相似问题