Spring batch 在spring批处理中从平面文件读取的动态列
我有一个用例,用户可以从输入文件中选择列,然后运行作业。他们可能会从完整的列集合中选择几个列,所以我不想为每个作业创建域对象,而是将列名作为作业参数传递 我试着从下面的例子 但当我运行这个程序时,我会得到一个异常 原因:org.springframework.batch.item.file.transform.IncorrectTokenCountException:在记录中找到的令牌数量不正确:预期2实际3 我在输入文件中有三列,但只想读取2列。这是密码Spring batch 在spring批处理中从平面文件读取的动态列,spring-batch,Spring Batch,我有一个用例,用户可以从输入文件中选择列,然后运行作业。他们可能会从完整的列集合中选择几个列,所以我不想为每个作业创建域对象,而是将列名作为作业参数传递 我试着从下面的例子 但当我运行这个程序时,我会得到一个异常 原因:org.springframework.batch.item.file.transform.IncorrectTokenCountException:在记录中找到的令牌数量不正确:预期2实际3 我在输入文件中有三列,但只想读取2列。这是密码 @Bean @StepSco
@Bean
@StepScope
public ItemStreamReader<String[]> reader(
@Value("#{jobParameters['fileName']}") String fileName,
@Value("#{jobParameters['columnNames']}") String columnNames
) {
return new FlatFileItemReaderBuilder<String[]>()
.name("Reader")
.resource(new ClassPathResource(fileName))
.lineMapper(new DefaultLineMapper<String[]>() {{
setLineTokenizer(new DelimitedLineTokenizer() {{
setNames(columnNames.split(","));
}});
}})
.build();
}
这里怎么了?提前感谢您的帮助。这是否回答了您的问题?