gpt4 book ai didi

java - Spring Batch 自定义 ItemReader 无法打开

转载 作者:行者123 更新时间:2023-12-01 21:09:59 28 4
gpt4 key购买 nike

我有一个 Spring Batch 项目,其中有 JsonResouurceAsyncPagingItemReader,这是一个自定义 ItemReader,它从 Web 服务异步检索数据。

此自定义 ItemReader 使用 ExecutorService 提交对 Web 服务的调用。但是我在初始化它时遇到了麻烦。

我尝试通过 AbstractItemCountingItemStreamItemReader 提供的 doOpen 方法初始化它,但是似乎 doOpen 它没有被调用。

Spring 通过以下方式注入(inject) 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,那就应该没问题。
(Look at this ticket)

关于java - Spring Batch 自定义 ItemReader 无法打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41353114/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com