Spring batch 控制spring批处理作业执行/调度的最佳实践/设计模式

Spring batch 控制spring批处理作业执行/调度的最佳实践/设计模式,spring-batch,spring-integration,Spring Batch,Spring Integration,我们很少有相互依赖的作业,其中作业2在作业1完成之前无法启动,就像wise作业4在作业3完成之前无法启动一样。有没有遵循这一点的最佳实践?所有这些作业都对文件系统或数据库进行某种轮询,因此我考虑使用spring integration发送作业启动事件,但我的困惑是,我是否应该将所有作业打包在一起,并拥有一个可以控制作业执行的父级spring integration应用程序上下文 开放的最佳做法,因为这一点,我们可能会增加3-4更多的就业机会,稍后在项目中。此外,将来我们可能会实现某种仪表板来显示

我们很少有相互依赖的作业,其中作业2在作业1完成之前无法启动,就像wise作业4在作业3完成之前无法启动一样。有没有遵循这一点的最佳实践?所有这些作业都对文件系统或数据库进行某种轮询,因此我考虑使用spring integration发送作业启动事件,但我的困惑是,我是否应该将所有作业打包在一起,并拥有一个可以控制作业执行的父级spring integration应用程序上下文


开放的最佳做法,因为这一点,我们可能会增加3-4更多的就业机会,稍后在项目中。此外,将来我们可能会实现某种仪表板来显示每个作业的状态以及为什么它没有启动等等。

通过Spring集成,链接多个作业启动网关非常简单,这样作业就可以互相跟踪运行了

...->JLG1->transformResult1->JLG2->transformResult2->...

作业可以在自己的配置文件中定义并导入到主流程中

您可以使用spring batch admin REST API查看作业状态等

或者,考虑在Spring XD容器中部署您的作业,并通过启动第一个作业,使用XD Admin REST API控制整个事情,并监视作业事件以确定下一个作业应该何时启动。同样,Spring集成可用于驱动整个作业序列

SpringXD还有一个RESTAPI(和用户界面)来检查作业状态

有关更多信息,请参阅