调度对比:Crontab vs Quartz

1、执行粒度不同:Crontab进程调度,Quartz线程调度。线程调度带来2点优势,一是更节省资源,二是可以在进程内做数据交换。

2、Crontab依赖于Unix系列平台Quartz是Java实现因此是跨平台

3、调度操作集上,Quartz的设置更为灵活,完全闭包Crontab。Crontab的最小调度单元为秒级,而Quartz可以更细。

4、Job监控方面,Quartz支持Listener,可以很方便的对job运行情况进行监控,并且能用JobStores进行调度信息的持久化(内存、DB均可),进而可以实现job可视化

5、高可用:最重要的一点,Quartz支持集群


参考:http://stackoverflow.com/questions/1029383/time-triggered-job-cron-or-quartz



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
crontab脚本直接写到Java的Job类中,并使用Quartz调度执行,是一种将任务逻辑与调度逻辑合并在一起的方式。这种方式有一些优点和注意事项: 优点: 1. 避免明文记录密码:通过将任务逻辑集成到Java代码中,可以避免在crontab脚本中明文记录敏感信息,如数据库账号密码。相反,你可以在Java的Job类中安全地存储和管理这些信息。 2. 更灵活的任务逻辑:使用Java编写任务逻辑可以提供更多灵活性和功能。你可以使用丰富的Java库和框架来处理任务操作,与其他系统进行交互,实现更复杂的业务逻辑。 3. 更好的可维护性:通过使用Java代码编写定时任务,你可以获得更好的可维护性。Java具有丰富的开发工具和社区支持,使得代码的维护和扩展更加便捷。 注意事项: 1. 学习成本:如果你对Java编程不够熟悉,将crontab脚本转换为Java代码可能需要一定的学习成本。你需要了解Quartz框架的基本概念和使用方式,并熟悉Java编程语言。 2. 部署复杂性:使用Quartz进行任务调度需要进行额外的部署和配置,包括编写Java代码、打包、部署到应用服务器等。这可能相对于直接使用crontab来说更加复杂。 3. 依赖性和性能:使用Quartz意味着你的任务将依赖于Java运行时环境。这可能会增加系统的复杂性,并带来一定的性能开销。如果你的系统已经是一个Java环境,并且能够承受额外的资源消耗,那么这可能不是一个问题。 综上所述,将crontab脚本转换为Java的Job类并使用Quartz调度执行可以提供更好的安全性和灵活性,但需要权衡学习成本、部署复杂性以及依赖性和性能等因素。如果你对Java编程熟悉且系统已经是一个Java环境,那么这种方式可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值