-
从a表中读取一些代码(a、B等)
-
-
在多个文件中写入(2)的数据CSV:每个文件的文件名中有1个代码(文件A.CSV有代码A的数据,文件B.CSV有代码B的数据,等等)。
@Configuration
public class BatchConfig extends JobConfigurationSupport {
@Bean(name = MY_BATCH_JOB+"Quartz")
public JobDetailFactoryBean myBatchJobQuartz() {
Map<String, Object> params = new HashMap();
return QuartzUtils.createJob(MY_BATCH_JOB, params);
}
@Bean(MY_BATCH_JOB)
public Job job(
@Qualifier(MY_BATCH_JOB + ".myReport") Step myReport,
) throws IOException {
return jobs
.get(MY_BATCH_JOB)
.incrementer(new RunIdIncrementer())
.start(myReport)
.build();
}
@Bean(MY_BATCH_JOB + ".myReport")
public Step myReport(@Qualifier("input") JdbcPagingItemReader<JavaBeanDTO> input,
@Qualifier(MY_BATCH_JOB + "myProcessor") ItemProcessor<JavaBeanDTO, JavaBeanVisualization> processor,
@Qualifier(MY_BATCH_JOB + "myWriter") FlatFileItemWriter<JavaBeanVisualization> writer
) {
l
return steps
.get(MY_BATCH_JOB + ".myReport")
.<JavaBeanDTO, JavaBeanVisualization>chunk(200)
.reader(input)
.myProcessor(processor)
.myWriter(writer)
.build();
}
@Bean
@StepScope
public JdbcPagingItemReader<JavaBeanDTO> input(DataSource dataSource, PagingQueryProvider queryProvider) {
}
@Bean(name = "myProcessor")
@StepScope
public ItemProcessor<JavaBeanDTO, JavaBeanVisualization> processor() {
}
@Bean(name = "myWriter")
@StepScope
public FlatFileItemWriter<JavaBeanVisualization> writer(PersonalComponent personalComponent) {
}
@Bean
public SqlPagingQueryProviderFactoryBean queryProvider(DataSource dataSource) {
}
}
例如:
-
请问您有什么参考或解释吗?
我试图记住属性中的数据
地图
但这是一个通过考试的问题
步进码
,因为Spring将
@组成部分
很明显,我不能使用tasklet,因为tasklet不需要任何步骤的串联,并且在这种情况下分区是多余的(我不需要并行执行,但需要顺序执行)
-
我可以创建两个公共步骤方法:
但是在第一次查询(第一个输入法)之后,理论上我至少需要一个编写器(Spring Batch必须有一个读写器),但实际上我只需要将结果存储在一个列表中,并将其传递给处理器或编写器(解析列表,我将使用当前代码命名文件名并过滤数据以打印在其上)。
-
-
要将它们存储在列表中,
-
将列表传递给处理器
-
-
将当前代码传递给writer方法,
但是我收到了一个关于Spring中参数生存期的错误
.
你知道我怎样才能解决这个问题吗?
-
@值(#{jobParameter…)
但是该方法拒绝接受作为参数并在
SqlPagingQueryProviderFactoryBean.SetWhere子句
我怎样才能解决这个问题?
提前感谢您的反馈
PS我知道这个问题很长,可能不是每个细节都很清楚,但是我发现在网上阅读好的文档有些困难。您是否有任何在线参考资料或更好的例子/项目需要学习?我发现官方文件对我的需要有点笼统。