Java 如何在spring批处理中运行并行作业
我想并行运行作业。我正在使用Java 如何在spring批处理中运行并行作业,java,jpa,spring-boot,parallel-processing,spring-batch,Java,Jpa,Spring Boot,Parallel Processing,Spring Batch,我想并行运行作业。我正在使用Java配置。 我在这里尝试了许多解决方案:- 我导入了两个不同的作业,其中包含递增器、侦听器、流,以及 流具有单个步骤,然后在批配置文件中包括读取器、处理器、写入器。 我还有调度器,我在其中添加了作业启动器,以便通过使用此链接后面的SimpleAsyncTaskExecutor异步运行作业,同时我还将并发限制设置为2,因为我有两个作业,并添加了@限定符(“asyncJobLauncher”)在BatchConfiguration中自动连接JobLauncher时
Java
配置。
我在这里尝试了许多解决方案:-
我导入了两个不同的作业
,其中包含递增器
、侦听器
、流
,以及
流
具有单个步骤
,然后在批配置
文件中包括读取器
、处理器
、写入器
。
我还有调度器
,我在其中添加了作业启动器
,以便通过使用此链接后面的SimpleAsyncTaskExecutor
异步运行作业,同时我还将并发限制
设置为2
,因为我有两个作业
,并添加了@限定符(“asyncJobLauncher”)
在BatchConfiguration
中自动连接JobLauncher
时,从该链接开始-
我能够一个接一个地执行作业
,但不能并行执行
但这些代码都不起作用。
请帮帮我
更新:-下面是示例代码
@Bean
public Job importUserJob1() {
return jobBuilderFactory.get("importUserJob1")
.flow(step1())
.end()
.build();
@Bean
public Job importUserJob2() {
return jobBuilderFactory.get("importUserJob2")
.flow(step2())
.end()
.build();
每个作业importUserJob1
和importUserJob2
都有单独的step1
和step2
。我想并行运行importUserJob1
和importUserJob2
请告诉我如何实现它 你能概括一下你想要达到的目标吗?@NghiaDo:我已经更新了我的问题,添加了代码。请帮帮我想想,每个工作都有一个步骤?为什么我们不使用SpringBatch提供的“并行步骤”@NghiaDo:示例:-如果我有两个CSV文件,并且我正在读取每个记录,使用并将其写入数据库。我可以在不同的时间安排这些作业,并且这些作业可以成功运行。我在
importUserJob1
中读取的第一个文件,我在importUserJob2
中读取的第二个文件具有所有不同的内容,例如步骤1和步骤2,步骤1和步骤2包含自己的读卡器、处理器和写入器。我不能同时运行这两个作业importUserJob1
和importUserJob2
。我不想运行并行步骤。请告诉我怎样才能做到这一点?嗯。。。我有点不清楚。无论如何,为什么可以同时安排importUserJob1和importUSerJob2?您使用的是什么计划程序?