我必须编写一个执行一系列任务的应用程序:
>任务每天0200时运行一次.
>任务将于凌晨4点运行一次
>从0003小时开始以15分钟的间隔运行任务
>从0005时开始以15分钟的间隔运行任务
使用普通java.util.timer Vs有什么优缺点.石英这个?
我还应该考虑其他替代方案吗?
解决方法
石英
>额外的依赖
> API目前(2011年末)正在发生变化:1.x正在走出去,但唯一一个受Spring支持,可能还有其他人支持
>工作可以持续存储;可以对多个调度程序进行集群以实现负载平衡和故障转移
> Job和Trigger之间的区别需要一点时间来适应 – 但它有可能
>更强大的重复调度表达式(例如用于cron表达式的CronTrigger)
计时器
>开箱即用JSE 1.3
>对于你的功能可能就够了
>灵活性较差,但也不那么复杂
我个人使用Quartz持久存储用于Web应用程序,其中触发器可以交互式创建,并且应该在重新启动后继续使用Spring’s scheduling abstraction.两个API恕我直言都缺少一个重要的概念:在一段时间后重试失败的任务.为自己添加这个是重复任务的痛苦,也应该重试.