在spring批處理中,我使用MultiResourceItemReader從目錄中讀取多個文件。然後我使用FlatFileItemReader作爲委託來處理單個文件。我的用例是在完全處理文件(READ-WRITE完成)後刪除文件,然後multiResourceitemReader必須選擇另一個文件,並且它必須繼續。Spring批處理 - 在處理後從目錄中刪除平面文件
我試過FileDeletingTasklet刪除目錄中的文件,但按照Spring文檔,execute方法只會被調用一次。我如何實現文件上被刪除的文件(READ-WRITE),但是一旦所有文件在目錄中完全處理完畢,我就不想用整個目錄刪除。
下面是我使用的工作:
<batch:job id="getEmpDetails">
<batch:step id="readAndProcess" next="deleteProcessedFile">
<batch:tasklet>
<batch:chunk reader="readEmpDetails" writer="writeEmpDetails" commit-interval="100">
</batch:chunk>
</batch:tasklet>
</batch:step>
<batch:step id="deleteProcessedFile">
<batch:tasklet ref="fileDeletingTasklet" />
</batch:step>
</batch:job>
<bean id="fileDeletingTasklet" class="com.test.FileDeletingTasklet">
<property name="directoryResource">
<bean id="directory" class="org.springframework.core.io.FileSystemResource">
<constructor-arg value="E:/testDir/file1.txt" />
</bean>
</property>
</bean>