从Spring批处理中的readMultiFileJob获取文件名
下面是我的Spring批处理配置文件,我正在读取多个文件(xml、csv等),这些文件以时间戳作为后缀动态生成,我可以读取文件的数据和处理,从Spring批处理中的readMultiFileJob获取文件名,spring,spring-data,spring-integration,spring-batch,Spring,Spring Data,Spring Integration,Spring Batch,下面是我的Spring批处理配置文件,我正在读取多个文件(xml、csv等),这些文件以时间戳作为后缀动态生成,我可以读取文件的数据和处理,现在的问题是, 我想知道文件名。 如何在处理作业时获取文件名 <import resource="../config/context.xml" /> <bean id="domain" class="com.di.pos.Domain" /> <job id="readMultiFileJob" xmlns="h
现在的问题是, 我想知道文件名。 如何在处理作业时获取文件名
<import resource="../config/context.xml" />
<bean id="domain" class="com.di.pos.Domain" />
<job id="readMultiFileJob" xmlns="http://www.springframework.org/schema/batch">
<step id="step1">
<tasklet>
<chunk reader="multiResourceReader" writer="flatFileItemWriter"
commit-interval="1" />
</tasklet>
</step>
</job>
<bean id="multiResourceReader"
class=" org.springframework.batch.item.file.MultiResourceItemReader">
<property name="resources" value="file:csv/inputs/dipos-*.csv" />
<property name="delegate" ref="flatFileItemReader" />
</bean>
<bean id="flatFileItemReader" class="org.springframework.batch.item.file.FlatFileItemReader">
<property name="lineMapper">
<bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper">
<property name="lineTokenizer">
<bean
class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer">
<property name="names" value="id, name" />
</bean>
</property>
<property name="fieldSetMapper">
<bean
class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
<property name="prototypeBeanName" value="domain" />
</bean>
</property>
</bean>
</property>
</bean>
Resource currentResource = delegator.getCurrentResource();
String[] fileName = currentResource.getFilename().split("/");
//Use this to access file path
URI fileUri = currentResource.getURI();
return fileData;
}