And*_*ipe 0 java spring spring-batch
我有一个 Spring Batch 项目,其中有一个从 Web 服务异步检索数据的JsonResouurceAsyncPagingItemReader自定义项目。ItemReader
此自定义ItemReader使用 aExecutorService来提交对 Web 服务的调用。但是我在初始化它时遇到了麻烦。
我尝试通过doOpen提供的方法初始化它AbstractItemCountingItemStreamItemReader,但似乎doOpen没有被调用。
ItemReaderSpring 通过以下方式注入:
@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;
}
Run Code Online (Sandbox Code Playgroud)
并进一步用于Step这样的情况:
@Bean
public Step importProductStep() {
return stepBuilderFactory.get("importProductJobStep")
.<Map<String, Object>, Product>chunk(1000)
.reader(reader(null, null))
.processor(processor())
.writer(writer())
.build();
}
Run Code Online (Sandbox Code Playgroud)
知道可能出什么问题吗?
| 归档时间: |
|
| 查看次数: |
1277 次 |
| 最近记录: |