在Spring Batch

时间:2016-11-19 08:17:54

标签: parallel-processing spring-batch jobs

我想要并行运行作业。我从下面的链接尝试了很多解决方案: -

using spring batch to execute jobs in parallel

How to run spring batch jobs in parallel

我想要的是 - 我有3个Jobs做不同的流程如下: - (我有工作。但现在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 - >读者,处理和写入数据库

但是,这项工作不是并行运行的。第二个工作等待第一个工作完成。我想并行运行。我还从此链接SimpleAsyncTaskExecutorJobLauncher添加了@Qualifier("asyncJobLauncher"),甚至在通过此链接自动装配到JobLauncher时添加了 foreach($orders as $order) { if($order->status=='pending' && $order->date<CURRENT_DATE) push_order_to_cancellable_orders_table(); } - {{3} }。

请告诉我实现并行处理作业的方法。

0 个答案:

没有答案