我想调整我的代码,使Spring Batch reader
不是从类路径读取资源文件,而是从文件系统(如C:\ inputData.xml)读取资源文件。有什么办法,怎么做?我当前的代码看起来像这样,并从resources文件夹中读取给定xml
文件就好了:
@Bean
ItemReader<FamilyBatchEntity> xmlFamilyFileItemReader() {
StaxEventItemReader<FamilyBatchEntity> xmlFileReader = new StaxEventItemReader<>();
xmlFileReader.setResource(new ClassPathResource("inputData.xml"));
xmlFileReader.setFragmentRootElementName("Familiendetails");
Jaxb2Marshaller insurantMarshaller = new Jaxb2Marshaller();
insurantMarshaller.setClassesToBeBound(FamilyBatchEntity.class);
xmlFileReader.setUnmarshaller(insurantMarshaller);
return xmlFileReader;
}
答案 0 :(得分:5)
将您的ClassPathResource
更改为FileSystemResource
并传递路径。您可以在此处的文档中详细了解FileSystemResource
:http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/core/io/FileSystemResource.html