gpt4 book ai didi

java - 如何在将 GsonJsonObjectReader 与 MultiResourceItemReader 一起使用时设置委托(delegate)

转载 作者:行者123 更新时间:2023-12-01 16:14:41 25 4
gpt4 key购买 nike

我正在使用 spring-batch 多资源 JsonItemReader从如下位置读取多个文件:

public MultiResourceItemReader<Trade> getReader() {
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
Resource[] resources = resolver.getResources("file:" + "D:/files/trade*.json");//trade1.json, trade2.json, etc
MultiResourceItemReader<Trade> reader = new MultiResourceItemReader<>();
reader.setResources(resources);
reader.setDelegate(getDelegate());
return reader;
}

private JsonItemReader<Trade> getDelegate() {
return new JsonItemReaderBuilder<Trade>()
.jsonObjectReader(new GsonJsonObjectReader<>(Trade.class))
.resource(??) /* <--- what to specify here since resource is a mandatory field*/
.name("tradeJsonItemReader")
.build();
}

getDelegate()鉴于虚拟资源是必填字段,有没有办法设置它?我正在MultiResourceItemReader上设置资源在 getReader()方法,所以我不需要这样做。

我不能简单地返回 new GsonJsonObjectReader<>(Trade.class)来自getDelegate()方法自 MultiResourceItemReader预计 ResourceAwareItemReaderItemStream .

设置资源的最佳选择是什么?

最佳答案

这实际上是一个错误,并且 StaxEventItemReaderBuilder 似乎也会发生同样的问题。对于此用例,该资源应该是可选的,因为在使用 FlatFileItemReader 作为 MultiResourceItemReader 的委托(delegate)时允许使用该资源,请参阅 here .

所以我认为 JsonItemReaderBuilderStaxEventItemReaderBuilder 也应该这样做。请在 Github 上打开一个问题并添加对此 SO 问题的引用。先谢谢您了。

关于java - 如何在将 GsonJsonObjectReader 与 MultiResourceItemReader 一起使用时设置委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62437961/

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