spring计划任务和spring批处理作业之间有什么区别
我不明白计划任务和春季批处理作业之间的区别。 我所说的计划任务是指如下配置的任务:spring计划任务和spring批处理作业之间有什么区别,spring,spring-boot,spring-batch,Spring,Spring Boot,Spring Batch,我不明白计划任务和春季批处理作业之间的区别。 我所说的计划任务是指如下配置的任务: @EnableScheduling public class AppConfig{ .. 就像 @Scheduled(fixedRate=550) public void doSomething(){ .. 批量作业指的是: @EnableBatchProcessing public class AppConfig{ .. 还有许多实现,如: 作业,作业启动程序,步骤,项目阅读器,项目编写器。。。等 除了
@EnableScheduling
public class AppConfig{
..
就像
@Scheduled(fixedRate=550)
public void doSomething(){
..
批量作业指的是:
@EnableBatchProcessing
public class AppConfig{
..
还有许多实现,如:
作业,作业启动程序,步骤,项目阅读器,项目编写器。。。等
除了实现上的差异之外,我还想知道它们之间的主要区别,我很好奇为什么要使用批处理作业并进行大量长时间的实现,而我们可以使用简单的计划任务。我的意思是,计划作业的实现非常简单,但根据批处理作业的情况,它们可能有缺点?Spring Scheduler用于根据计划编排某些内容。springbatch是一个健壮的批处理框架,用于构建复杂的计算问题。SpringBatch不处理作业的编排,只处理作业的构建。如果需要,您可以使用Spring Scheduler来编排Spring批处理作业。我可以想到的两个方面:作业运行失败时的afaik,在2。运行时,它将使用相同的作业参数运行。。我想至少你可以配置这个。这种错误情况比在同一个地方手动编写所有代码(您的计划方法)更容易配置。其次,当您还必须从某个地方读取数据并在某个地方编写时,批处理可能会为您的代码提供一个结构。。。批处理具有某种读取器、处理器、编写器模式。。还有一些自动创建的数据库表(批处理作业实例)和批处理作业结果。。比如工作开始的时候等等
编辑:批量处理的更多原因:大量数据、事务管理、基于块的处理、声明性I/O、启动/停止/重新启动、重试/跳过、基于Web的管理界面。看看我的答案,这是针对Quartz的,但基本上Quartz的概念与@Scheduled相似,更强大。它不应该只是石英,因为在spring boot中也有石英调度器,即使如此,我想知道批处理作业和石英调度器之间的区别。我知道的两个方面:作业运行失败时的问题,在2。运行时,它将使用相同的作业参数运行。。我想至少你可以配置这个。这种错误情况比在同一个地方手动编写所有代码(您的计划方法)更容易配置。其次,当您还必须从某个地方读取数据并在某个地方编写时,批处理可能会为您的代码提供一个结构。。。批处理具有某种读取器、处理器、编写器模式。。还有一些数据库表和自动创建的批处理作业结果。。比如工作开始的时候等等…@akcasoy我在寻找答案,请写信给答案,我接受真实答案。