我想运行 jobs in parallel . 我从下面的链接尝试了很多解决方案: -
using spring batch to execute jobs in parallel
How to run spring batch jobs in parallel
我想要的是 - 我有3个乔布斯做不同的过程如下: - (我有n个工作 . 但现在3)Job1->做学生文件处理
Job2->做员工文件处理
Job3->任何其他处理
这些工作没有任何相似之处 . 它们彼此独立 . 所有作业并行运行 . 以下是示例代码: -
@Bean public Job importUserJob() { return jobBuilderFactory.get("importUserJob") .incrementer(new RunIdIncrementer()) .listener(listener()) .flow(stepOne()).end().build(); }
@Bean public Job importUserOtherJob() { return jobBuilderFactory.get("importUserOtherJob") .incrementer(new RunIdIncrementer()) .listener(listener()) .flow(stepSecond()).end().build(); }
同样,我有两步: -
stepOne
- >读取,处理和写入数据库和
stepSecond
- >读取,处理和写入数据库
但是,这项工作并不是同时进行的 . 第二个工作等待第一个工作完成 . 我想并行运行 . 我也从这个链接Multiple spring batch jobs添加 SimpleAsyncTaskExecutor
到 JobLauncher
,当从这个链接自动连接到 JobLauncher
时,甚至还添加了 @Qualifier("asyncJobLauncher")
- https://github.com/spring-projects/spring-boot/issues/1655 .
请告诉我实现并行处理作业的方法 .