[英]Spring Batch custom ItemReader won't open
我有一个Spring Batch项目,其中有JsonResouurceAsyncPagingItemReader
,这是一个自定义ItemReader
,它从Web服务异步检索数据。
此自定义ItemReader
使用ExecutorService
将调用提交到Web服务。 但是我在初始化它时遇到了麻烦。
我试图通过AbstractItemCountingItemStreamItemReader
提供的doOpen
方法对其进行初始化,但是似乎doOpen
没有被调用。
Spring通过这种方式注入了ItemReader
:
@Bean
@JobScope
public ItemReader<Map<String, Object>> reader(@Value("#{jobParameters['lastRun']}") Date lastRun,
@Value("#{jobParameters['codInt']}") Long codInt) {
Map<String, Object> parameterValues = new HashMap<String, Object>();
if (lastRun != null) {
parameterValues.put("lastRun", DateFormatUtils.format(lastRun, dateFormat));
}
if (codInt != null) {
parameterValues.put("codInt", codInt);
}
JsonResourceAsyncPagingItemReader<Map<String, Object>> reader = new JsonResourceAsyncPagingItemReader<>();
reader.setHttpUrl(server + pathTemplate);
reader.setRestTemplate(restTemplate);
reader.setParameterValues(parameterValues);
reader.setPageSize(pageSize);
return reader;
}
并在以下Step
进一步使用:
@Bean
public Step importProductStep() {
return stepBuilderFactory.get("importProductJobStep")
.<Map<String, Object>, Product>chunk(1000)
.reader(reader(null, null))
.processor(processor())
.writer(writer())
.build();
}
有什么问题的想法吗?
如果返回ItemStream或ItemStreamWriter,则应该可以。
( 看这张票 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.