Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring计划任务和spring批处理作业之间有什么区别_Spring_Spring Boot_Spring Batch - Fatal编程技术网

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我在寻找答案,请写信给答案,我接受真实答案。