当前java程序中能够实现定时的主要有三种方式,分别是: java Timer定时器 , spring定时器 , quartz定时器
①Timer定时器:
优点:方便而简介,
缺点: 如果需要实现每天早晨7点钟的定时执行一次,且周末的时候早晨7点钟不需要提醒,那这个可就不够用了,
并且如果需要服务器一开启就触发这个定时器,则这种注册调用的方法也是不行的。
②spring定时器
优点:相对Timer更灵活,可以在配置文件中配置信息,且能够实现服务器已启动,就将定时器的执行纳入的被监控的范围, 符合条件马上触发执行。
缺点: 对于指定了具体的年月日时分秒而执行的任务还是不能解决。
③quartz定时器
①Timer定时器:
优点:方便而简介,
缺点: 如果需要实现每天早晨7点钟的定时执行一次,且周末的时候早晨7点钟不需要提醒,那这个可就不够用了,
并且如果需要服务器一开启就触发这个定时器,则这种注册调用的方法也是不行的。
②spring定时器
优点:相对Timer更灵活,可以在配置文件中配置信息,且能够实现服务器已启动,就将定时器的执行纳入的被监控的范围, 符合条件马上触发执行。
缺点: 对于指定了具体的年月日时分秒而执行的任务还是不能解决。
③quartz定时器
优点:Quartz是基于Spring框架之上的更加强大的定时器,它不仅可以轻松的实现前面两种定时器的功能,还实现了非常繁复的时间触发执行的任务
④TBSchedule:淘宝早期开源,稳定性可以保证,京东金融集团当前使用定时任务框架
⑤Crontab:Linux系统级的定时任务执行器,缺乏分布式和集中管理功能。