我一直在寻找我公司当前批处理系统(java SE + crontab)的替代品,因为有很多java代码/ shell脚本重复,大多数工作都是ETL并且做了非常相似的步骤而且我想提供平台独立而不是依赖于crontab,更具体的是我们的工作角色,当前的创造就业步骤是这样的:
大部分相同的逻辑被设计和开发成一个系统,其中包含通用例程,这些程序或"接口"(即他们在那里称之为)是独立完成的(通常使用复制粘贴代码,因为大多数例程都相似),但我我仍然缺少一个非常重要的部分,我需要帮助,这涉及我使用的调度程序实现,我需要它来满足这两个需求之一:
- 我想保证每当我停止调度服务器进行系统更新(由于添加了新的工作等)或其他原因时,那些由于系统停机而无法运行的作业(例如3个工作可以由于系统已关闭,因此无法在下午3:00运行,即使各自的调度时间已经消失,也可以在服务器恢复运行时运行.
或者,如果第一件事不可能,那么:
- 我需要一种方法来使用新作业更新调度程序,并且还需要更新提供这些作业的jar,而无需重新启动调度程序(类似于OSGi).
这些条件中的任何一个都满足我的要求,并且会结束我对替换的搜索,我查看了Quartz,Oddjob(这是一个使用这个调度程序生产的调度程序,但是每次添加新的作业/库时都需要重新启动,不满足我的需求)和OSGi使用应用服务器,但我正在寻找更好的建议,如果你也知道更好的选择,他们也非常感激.