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
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/...
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
Vous devez vous connecter pour publier un commentaire.
Analyser dans les paramètres de travail à partir de la ligne de commande, puis de créer et de remplir JobParameters.
De les transmettre à votre travail via JobLauncher -
Maintenant, vous pouvez y accéder à l'aide de code comme celui -
Ou dans un @classe de Configuration qui est de la configuration de Spring Batch Travail des artefacts comme - ItemReader, ItemWriter, etc...
OriginalL'auteur Ashok
J'ai réussi à le faire fonctionner simplement en annotant mon haricot comme suit :
OriginalL'auteur Philippe