如何在MultiItemResource Reader中定义多个线程?

时间:2015-05-28 10:50:24

标签: java multithreading spring spring-batch

我正在使用MultiResourceItemReader类的Spring Batch。其中使用FlatFileReader bean作为委托。我的文件包含XML请求,我的批处理读取文件中的请求将其打开到URL并将响应写入相应的输出文件。我想为每个文件处理定义一个线程以减少执行时间。在我目前的要求中,我有四个输入文件,我想定义四个线程来读取,处理和写入文件。我尝试使用simpleTaskExecuter和

task-executor="simpleTaskExecutor" throttle-limit="20" 

但在使用此flatfileReader之后,正在投掷Exception。 我是初学者,请建议我如何实现这一点。提前致谢。

1 个答案:

答案 0 :(得分:0)

有几种方法可以去这里。但是,最简单的方法是使用MultiResourcePartitioner按文件进行分区。与TaskExecutorPartitionHandler结合使用,可以为输入文件提供可靠的并行处理。您可以在我们的文档的第7.4节中阅读有关分区的更多信息:http://docs.spring.io/spring-batch/trunk/reference/html/scalability.html