Когда я запускаю проект весенней партии, исключение произошло! подробноВесенняя партия StaxEventItemReader освобождает исключение
Исключение:
Caused by: java.lang.NullPointerException: null
at org.springframework.batch.item.xml.StaxEventItemReader.moveCursorToNextFragment(StaxEventItemReader.java:141)
имя_файла правильно!
код конфигурации:
@Bean
@StepScope
public StaxEventItemReader xmlFileItemReader(@Value("#{jobParameters['fileType']}") String fileType,
@Value("#{jobExecutionContext['extractFileName']}") String fileName) throws Exception {
System.out.println("======================== fileName =========================="+fileName);
StaxEventItemReader reader = new StaxEventItemReader();
reader.setResource(new FileSystemResource(fileName));
reader.setFragmentRootElementName("PortData");
reader.setUnmarshaller(unmarshaller());
reader.afterPropertiesSet();
return reader;
}
thx много мой XML-файл может выглядеть несколько сложнее. мой тзд –
Я думаю, что "setFragmentRootElementName" должен извлечь фрагменты из XML, почему он не –
Почему непринятый? если PortData является корнем xml-файла, вы столкнетесь с вашей проблемой. @ robinson.L: что вы имеете в виду? setFragmentRootElementName используется для перехода от дочерних к дочерним объектам; если вам нужна композиция, вам нужно переопределить 'StaxEventItemReader.moveCursorToNextFragment()' –