Я новичок в весенней партии.Весенний пакетный файл после обработки
Мне нужно прочитать несколько файлов (разделитель) из папки и загрузить их в БД. Что я и сделал.
Но моя проблема после обработки каждого файла. Мне нужно переместить файл в папку processed
или записи ошибок в папку Error
.
Например, если я обработать файл ниже (abc.txt
) из нескольких файлов:
D|hello1|123
D|hello2|three - Error
D|hello3|123
Я знаю, что вторая запись об ошибке.
Теперь я должен записать запись об ошибке в файл ошибки (abc-error.txt
) в папку ошибок и перейти к следующей записи. После успешной обработки файла, за исключением записей об ошибках, мне нужно переместить abc.txt
в обработанную папку.
Как я могу достичь вышеуказанного требования?
Моя работа:
<batch:job id="file_to_db">
<batch:step id="step1">
<batch:tasklet ref="moveFiletoTmpFolder" />
<batch:end on="FAILED"/>
<batch:next on="*" to="step2" />
</batch:step>
<batch:step id="step2">
<batch:tasklet transaction-manager="transactionManager"
start-limit="100">
<batch:chunk reader="multiResourceReader" writer="databaseItemWriter"
commit-interval="100">
</batch:chunk>
</batch:tasklet>
</batch:step>
</batch:job>
<bean id="multiResourceReader"
class=" org.springframework.batch.item.file.MultiResourceItemReader">
<property name="resources" value="file:batch/csv/processing/*.csv" />
<property name="delegate" ref="cvsFileItemReader" />
</bean>
Работа не один шаг. Но каждый файл должен быть перемещен после его обработки. Записи ошибок должны быть записаны в отдельный файл с именем filename-error.txt
для каждого файла.
Это один шаг задания? Если возможно, покажите свою работу и настройку шага. –
Teja, вы можете достичь, добавив еще один шаг с помощью таска, который делает движущуюся часть. Обратитесь к разделу «archiveFileTasklet» здесь: http://www.javaworld.com/article/2458888/spring-framework/open-source-java-projects-spring-batch.html?page=4 –
@ Гость, Tasklet используется для выполнения операции один раз. Но для меня мне нужно переместить файл в разные папки после прочтения каждого файла из многих файлов. – Teja