Я пытаюсь прочитать файл JSON, прочитать его значения и сохранить его в объекте List<Data>
. Я вызываю список из моего класса ItemReader и обрабатываю его для записи в базу данных.
Мой читатель выглядит следующим образом:
public class JsonItemReaderFromULProspector implements ItemReader<Data>{
// static String jsonFilePath = Directory.JSON_FILE_PATH;
private int nextULPIndex;
public JsonItemReaderFromULProspector() {
initialize();
}
private List<Data> finalULPData;
private void initialize() {
List<Data> ulpData=ReadJSONFromULP.getJsonObject();
for(Data data:ulpData){
finalULPData=Collections.unmodifiableList(Arrays.asList(data));
nextULPIndex=0;
}
}
@Override
public Data read()throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException {
Data nextULPData=null;
if (nextULPIndex < finalULPData.size()) {
nextULPData = finalULPData.get(nextULPIndex);
nextULPIndex++;
}
return nextULPData;
}
}
, а мой процессор - обычный процессор, который принимает <Data,ULProspector>
как ввод и вывод.
Когда я пытаюсь записать его в базу данных. Только одна запись, которую я могу записать в БД, и после этого она получает выход.