Java Spring批处理项目拆分器

Java Spring批处理项目拆分器,java,spring,spring-batch,jobs,spring-integration,Java,Spring,Spring Batch,Jobs,Spring Integration,我有以下问题:我有一个文件,其中每行导致一个或多个项目被写入数据库。我需要从另一个系统中进行查找,以确定需要写入多少项。由一行生成的每个项目必须使用项目处理器链进行转换,并最终写入数据库中的多个表 因为每个项都需要写入多个表,所以它们必须位于各自的事务中。正因为如此,我不能只有一个处理它的ItemProcessor。在这种情况下,即使提交间隔为1,我也会在同一事务中处理多个项目 我已经看到了堆栈溢出问题。由于交易问题,接受的答案对我没有帮助。关于使用Spring集成拆分器的另一个答案听起来很有趣

我有以下问题:我有一个文件,其中每行导致一个或多个项目被写入数据库。我需要从另一个系统中进行查找,以确定需要写入多少项。由一行生成的每个项目必须使用项目处理器链进行转换,并最终写入数据库中的多个表

因为每个项都需要写入多个表,所以它们必须位于各自的事务中。正因为如此,我不能只有一个处理它的
ItemProcessor
。在这种情况下,即使提交间隔为1,我也会在同一事务中处理多个项目

我已经看到了堆栈溢出问题。由于交易问题,接受的答案对我没有帮助。关于使用Spring集成拆分器的另一个答案听起来很有趣。然而,它没有给出太多的细节。如何将读卡器的输出定义为通道输入?我如何定义一个到我的项目编写器的输出通道?如何在每个新划分的项目上仍然运行项目处理器链


我还没有在spring批处理作业中找到任何使用拆分器的示例。任何建议都将不胜感激。

在FlatFileItemReader上也有同样的问题,但不包括事务问题。 这样处理:

public class FlatFileItemListWriter<T> extends FlatFileItemWriter<T> {

    /**
     * {@inheritDoc}
     * 
     * @see org.springframework.batch.item.file.FlatFileItemWriter#write(java.util.List)
     */
    @Override
    @SuppressWarnings("unchecked")
    public void write(List<? extends T> itemsLists) throws Exception {
        List<T> items = new ArrayList<T>();
        for (Object item : itemsLists) {
            items.addAll((List<T>) item);
        }
        super.write(items);
    }

}
公共类FlatFileItemListWriter扩展了FlatFileItemWriter{
/**
*{@inheritardoc}
* 
*@see org.springframework.batch.item.file.FlatFileItemWriter#write(java.util.List)
*/
@凌驾
@抑制警告(“未选中”)

公开无效写入(列表为什么不使用ClassifierCompositeItemWriter@SerkanArıkuşu这里没有任何东西需要分类。所有东西都将交给同一个作者。我相信复合项目作者用于让某些项目根据分类器交给某些项目作者。如果我遗漏了什么,请告诉我。你找到解决方案了吗n在这个?我有完全相同的场景。