Comment Spring Batch Étape Portée De Travail

J'ai une exigence où j'ai besoin de traiter des fichiers basés sur le reste d'appel dans lequel je reçois le nom du fichier, je suis en ajoutant le paramètre de travail et de l'utiliser lors de la création des haricots.

Je suis de la création de l'étape de la portée de Haricots pour les (lecteur,écrivain) et en utilisant le paramètre de travail.Je suis en train de créer de l'emploi dans un nouveau thread, comme je suis en utilisant asynchronus tâche exceutor pour lancer le travail et ma question est de savoir comment les haricots être créé d'ici le printemps lorsque nous définissons @StepScope

jobParametersBuilder.addString("fileName", request.getFileName());
jobExecution = jobLauncher.run(job, jobParametersBuilder.toJobParameters());
@Bean
public JobLauncher jobLauncher() {
    SimpleJobLauncher jobLauncher = new SimpleJobLauncher();
    jobLauncher.setJobRepository(jobRepository());
    jobLauncher.setTaskExecutor(asyncTaskExecutor());
    return jobLauncher;
}

@Bean
@StepScope
public ItemWriter<Object> writer(@Value ("#{jobParameters['fileName']}"String    fileName) {
    JdbcBatchItemWriter<Object> writer = new JdbcBatchItemWriter<>();
    writer.setItemSqlParameterSourceProvider(
        new BeanPropertyItemSqlParameterSourceProvider<Object>());
    writer.setSql(queryCollection.getquery());
    writer.setDataSource(dataSource(fileName));
    return writer;
}
cette @Value ("#{jobParameters['fileName']}"String fileName) { que vous avez fourni dans votre question, c'est une tuerie. thnx pour le partage.

OriginalL'auteur lakshmi kanth | 2016-08-05