Comment puis-je régler JobParameters dans spring batch avec spring-boot

J'ai suivi le guide à http://spring.io/guides/gs/batch-processing/ mais il décrit un emploi avec aucun des paramètres configurables. Je suis l'aide de Maven pour construire mon projet.

Je suis portage d'une tâche que j'ai défini en XML et voudrait passer-dans le jobParameters par le biais de la commande.

J'ai essayé le suivant :

@Configuration
@EnableBatchProcessing
public class MyBatchConfiguration {

    //other beans ommited

    @Bean 
    public Resource destFile(@Value("#{jobParameters[dest]}") String dest) {
        return new FileSystemResource(dest);
    }

}

Puis-je compiler mon projet à l'aide de :

mvn clean package

Puis j'ai essayer de lancer le programme comme ceci :

java my-jarfile.jar dest=/tmp/foo

Et j'obtiens une exception en disant :

[...]
Caused by: org.springframework.expression.spel.SpelEvaluationException: 
EL1008E:(pos 0): Field or property 'jobParameters' cannot be found on object of 
type 'org.springframework.beans.factory.config.BeanExpressionContext'

Merci !

Comment pouvez-vous définir les paramètres en premier lieu? c'est à dire comment jobParameters[dest] se remplir?
Eh bien, il suffit de créer le JobParameters dans la classe principale de votre fichier jar exécutable en utilisant quelque chose comme JobParametersBuilder().addString("dest", args[0]).toJobParameters(), puis passer le résultant JobParameters à la JobLauncher. Voir docs.printemps.io/printemps-lot/de référence/htmlsingle/...

OriginalL'auteur Philippe | 2014-02-04