Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在MultiItemResource Reader中定义多个线程?_Java_Multithreading_Spring_Spring Batch - Fatal编程技术网

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

Java 如何在MultiItemResource Reader中定义多个线程?,java,multithreading,spring,spring-batch,Java,Multithreading,Spring,Spring Batch,我正在使用SpringBatch的MultiResourceItemReader类。它使用FlatFileReaderbean作为代理。我的文件包含XML请求,我从文件中批量读取请求,并将响应写入相应的输出文件。我想为每个文件处理定义一个线程,以减少执行时间。在我当前的需求中,我有四个输入文件,我想定义四个线程来读取、处理和写入文件。我用simpleTaskExecuter和 task-executor="simpleTaskExecutor" throttle-limit="20" 但使用

我正在使用SpringBatch的
MultiResourceItemReader
类。它使用
FlatFileReader
bean作为代理。我的文件包含XML请求,我从文件中批量读取请求,并将响应写入相应的输出文件。我想为每个文件处理定义一个线程,以减少执行时间。在我当前的需求中,我有四个输入文件,我想定义四个线程来读取、处理和写入文件。我用simpleTaskExecuter和

task-executor="simpleTaskExecutor" throttle-limit="20" 
但使用此
flatfileReader后
会引发
异常

我是初学者,请建议我如何实现这一点。提前谢谢

这里有两种方法。但是,最简单的方法是使用
MultiResourcePartitioner
按文件进行分区。与
taskExecutionPartitionHandler
结合使用,可以可靠地并行处理输入文件。您可以在我们文档的第7.4节中阅读有关分区的更多信息: