spring-batch是Java Spring的的批处理框架,而且提供了简单的文本处理功能。
下面的的例子,实现了对文本的下载和处理的流程。
<!-- Tasks分多个Task,Task启动job,job分为step --> <batch:job id="wxJob" job-repository="jobRepository" restartable="true" > <batch:step id="downloadWxFile" next="analyseInfo"> <batch:tasklet> <bean class="com.secondgame.demo_service.demo.batch.task.WxDownloadStep" scope="step"> <property name="filenamePrefix" value="#{jobParameters['filenamePrefix']}"></property> <property name="date" value="#{jobParameters['date']}"></property> <property name="datetime" value="#{jobParameters['datetime']}"></property> <property name="workpath" value="#{jobParameters['workpath']}"></property> <property name="filename" value="#{jobParameters['filename']}"></property> </bean> </batch:tasklet> </batch:step> <batch:step id="analyseInfo"> <!-- <bean class="com.secondgame.demo_service.demo.batch.task.depositor.LoadStep" scope="step"> </bean> --> <batch:tasklet transaction-manager="transactionManager"> <batch:chunk reader="wxReader" writer="wxWriter" commit-interval="10"> </batch:chunk> </batch:tasklet> </batch:step> </batch:job> <!-- wx Detail --> <bean id="wxReader" class="org.springframework.batch.item.file.FlatFileItemReader" scope="step"> <property name="resource" value="file:#{jobParameters['filename']}"></property> <property name="encoding" value="UTF-8"></property> <property name="comments" value="#{'总'}"></property> <property name="lineMapper" ref="wxMapper"></property> <property name="linesToSkip" value="1"></property> </bean> <bean i