我正在开发一个Spring Batch项目,这是我的Reader的配置。
<bean id="personneReaderCSV" class="org.springframework.batch.item.file.FlatFileItemReader" >
<property name="resource" value="input/personne.txt" />
<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="delimiter" value=","/>
<property name="names" value="id,nom,prenom,civilite" />
</bean>
</property>
<property name="fieldSetMapper">
<bean class="org.springframework.batch.item.file.mapping.BeanWrapperFieldSetMapper">
<property name="targetType" value="ma.ensa.Personne" />
</bean>
</property>
</bean>
</property>
</bean>
现在,我想使用通过JSF上载的文件来选择我想从中读取数据的文件,因此我该如何执行以使属性资源的值动态化。帮助和感谢。
您可能想通过在作业的JobParameters
中设置一个属性,然后以这种方式将其注入到您的阅读器bean中,来对作业中的输入文件名进行参数化:
Spring Boot更新: