当前位置: 首页 > 知识库问答 >
问题:

Spring批-并行加工

万俟浩
2023-03-14

我在三台机器上运行Spring批处理作业。例如,数据库有30条记录,每台机器中的批处理作业必须拾取唯一的10条记录并对其进行处理。

我读过分区和并行处理,有点困惑,哪一个合适?

感谢您的帮助。

共有1个答案

武友樵
2023-03-14

您所描述的是分区。分区是指将输入分解为多个分区,并并行处理每个分区。Spring Batch提供了两种不同的执行分区的方法,一种是使用线程(通过TaskExecutionPartitionHandler)在本地执行分区。另一个是通过消息分发分区,以便通过Spring Batch Admin的Spring Batch integration项目中的MessageChannelPartitionHandler本地或远程执行分区。通过我在这里关于多jvm批处理的演讲,您可以了解有关远程分区的更多信息:http://www.youtube.com/watch?v=CYTj5YT7CZU

 类似资料:
  • 我目前正在构建一个spring批处理应用程序,其中执行了几个步骤。除了一个,所有的步骤都是简单的tasklet(没有读取器或写入器),它们负责各种任务,如复制文件、发送请求、启动批处理(*.bat)文件等。 大多数步骤应该是串行执行的。在一个特定的步骤中,我希望启动X文件,这些文件最多可以有Y个实例。 null 如果:)我想我必须使用taskExecutor,下面我有一个示例,在这里我开始第一步(

  • 当我使用Spring批处理管理运行长时间运行的批处理作业的多个实例时,它会在达到jobLauncher线程池任务执行程序池大小后阻止其他作业运行。但是从cron中提取多个工作似乎效果不错。下面是作业启动器配置。 Spring批处理管理员Restful API是否使用不同于xml配置中指定的作业启动器?

  • 我不确定使用spring Batch是否可行。任何想法或我都无法实现它。谢谢。

  • 我有一个作业流,我希望以以下方式运行它: 作业流将从Job1开始。在Job1成功完成后,Job1将同时启动Job2和Job4。 Job2和Job4将并行运行。 在Job2成功完成后,Job2将启动Job3。 在Job4成功完成后,Job4将启动Job5。 下面是job1.xml和job1的作业启动器类的代码片段: job1.xml uijobLauncher.java “job2,Job3”对和“

  • Spring批处理集成文档解释了如何使用远程分块和分区的步骤,请参见 http://docs.spring.io/spring-batch/trunk/reference/html/springbatchintegration.html#Externalizing-batch-process-execution 我们的工作不包括简单的读取器/处理器/写入器步骤。因此,我们只想让整个作业并行运行,每

  • 我在BatchScheduler中有多个计划作业,它在特定时间运行。简单的内置JobLauncher,这是同步的。在自然界中最初使用。现在,我想并行运行这些作业,这样没有作业可以等待其他作业完成。 我在不同的作业上尝试过@Async注释,但都不起作用。 然后,我尝试设置joblauncher.settaskexecutor(新的SimpleAsyncTaskExecutor())。但这并不奏效。