The code is:
LISTENER TO BUILD THE DIRECTORY NAME:
Code:
@BeforeJob
void beforeJob(JobExecution jobExecution) {
String dirTimestamp = BatchUtil.getInstance().getFormattedDate(new Date(), BatchConstants.DATE_FORMAT6);
ExecutionContext executionContext = jobExecution.getExecutionContext();
executionContext.putString(batchConfig.nombreDirTimestamp, dirTimestamp + "/");
}
THE XML CONFIG OF THE JOB:
Code:
<job id="job1" xmlns="http://www.springframework.org/schema/batch" incrementer="incrementer">
<!-- Main step -->
<step id="step1" ..../>
<!-- Listener for the job -->
<listeners>
<listener ref="commonJobListener" />
</listeners>
</job>
<!-- ItemWriter -->
<bean id="itemWriter1" class="org.springframework.batch.item.file.FlatFileItemWriter" scope="step">
<property name="resource" value="file:#{jobExecutionContext['timestampDir']}${output.file}" />
......................
</bean>
THE ITEM PROCESS CODE:
Code:
@Autowired
FlatFileItemWriter<FicheroOperacionesFilaSalida> itemWriter1;
If I don't use the late-binding in the bean, there's no problem to autowired it.