I am a Spring batch newbie. Please help. I have a simple FlatFileReader wrapped in a multiresource item reader. I then write the details in a record in the database. I need to write the filename on every record. Please help me find the simplest way to do this. I found something about getResource?? But how am I suppose to wire this in?
I have a mapper and a dto for the records that I read. The dto allready has a field for the filename.
Extracts of my code:
Code:<beans:bean id="MultiResourceItemReader.ImportDataJob" scope="step" class="org.springframework.batch.item.file.MultiResourceItemReader"> <beans:property name="resources" value="file:${data.extract.file.path}/${data.extract.file.thefile}*.txt"/> <beans:property name="delegate" ref="ItemReader.IstoreImportDataJob"> </beans:property> </beans:bean> <beans:bean id="ItemReader.ImportDataJob" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step"> <beans:property name="linesToSkip" value="1"/> <beans:property name="comments" value="001,999"/> <beans:property name="lineMapper"> <beans:bean class="org.springframework.batch.item.file.mapping.DefaultLineMapper"> <beans:property name="lineTokenizer"> <beans:bean class="org.springframework.batch.item.file.transform.DelimitedLineTokenizer"> <beans:property name="delimiter" value="|"/> <beans:property name="names" value= "aval,bval,cval,dval"/> </beans:bean> </beans:property> <beans:property name="fieldSetMapper"> <beans:bean class="com.ImportFieldSetMapper"/> </beans:property> </beans:bean> </beans:property> </beans:bean> <beans:bean id="ItemWriter.IstoreImportDataJob" class="org.springframework.batch.item.database.JdbcBatchItemWriter"> <beans:property name="assertUpdates" value="false"/> <beans:property name="itemSqlParameterSourceProvider"> <beans:bean name="sqlParameterSourceProvider" id="sqlParameterSourceProvider" class="org.springframework.batch.item.database.BeanPropertyItemSqlParameterSourceProvider"/> </beans:property> <beans:property name="sql" value="INSERT INTO TEST(A,B,C,D) VALUES (:aval,:bval,:cval,:dval)"/> <beans:property name="dataSource" ref="DataSourceBean.DEV.mhdev1"/> </beans:bean>


Reply With Quote

