我想问一下是否有人可以为后端预定作业建议适当的框架。目前,整个后端基于多个预定作业。所有作业都是用java编写的,并部署在linux机器上。这些作业由cron(使用crontab)和简单的bash脚本作为包装器控制,所以基本上我有几个罐子(它们都是基于弹簧的uber-jars [带有依赖关系]),它们会定期触发。那些java模块正在做各种各样的事情,比如处理csv / xml文件,从webservices获取数据,调用外部API(HTTP)和从FTP收集数据。 是否有一个框架,以便我能够将所有模块放在一个地方并简单地管理它们?我在考虑骆驼(之前我用过它),但对我来说必须有:
Camel几乎是完美的,因为它具有外部集成(FTP,HTTP,WS)的所有功能,并且还易于石英集成。我不知道如果有多个模块并在运行时部署/取消部署它们是可以实现的。
也许还有一些其他框架可以满足我的需求。请建议。
答案 0 :(得分:1)
如果计划在Java / Scala中执行此操作,请尝试使用Quartz 它(也)为调度作业提供了类似CRON的语法。
我们将“模块”作为webapps部署在一个简单的servlet容器(jetty)上,并使用Quartz调度程序触发对它们的操作(也在webapp中公开一个简单的UI)
答案 1 :(得分:0)
为了管理模块的加载和卸载,您可能希望查看基于OSGI的内容,例如Apache ServiceMix,这对于您描述的方式中的模块管理似乎特别好(我承认我不太了解您对装载和卸载模块的要求)。将Quartz添加到ServiceMix以安排作业。