Exécuter un travail par lots Spring avec CommandLineJobRunner
Un guide rapide pour vous montrer comment exécuter une tâche Spring batch avecCommandLineJobRunner
.
1. Exemple de travail par lots de printemps
Un travail simple.
resources/spring/batch/jobs/job-read-files.xml
2. Projet de package
Utilisez Maven pour empaqueter votre projet dans un seul fichier jar -target/your-project.jar, et copiez toutes les dépendances danstarget/dependency-jars/.
pom.xml
org.apache.maven.plugins maven-dependency-plugin 2.5.1 copy-dependencies package copy-dependencies ${project.build.directory}/dependency-jars/
$ mvn package
3. Exemple de CommandLineJobRunner
Utilisation:
CommandLineJobRunner jobPathjobIdentifier (jobParameters)
Pour exécuter au-dessus du travail par lots de printemps, tapez la commande suivante:
$ java -cp "target/dependency-jars/*:target/your-project.jar" org.springframework.batch.core.launch.support.CommandLineJobRunner spring/batch/jobs/job-read-files.xml readJob
PourjobParameters
, ajoutez à la fin de la commande:
$ java -cp "target/dependency-jars/*:target/your-project.jar" org.springframework.batch.core.launch.support.CommandLineJobRunner spring/batch/jobs/job-read-files.xml readJob file.name=testing.cvs
Pour l'exécuter selon un calendrier, normalement, vous pouvez copier les commandes ci-dessus dans un fichier.sh
, et l'exécuter avec n'importe quelle commande du planificateur, commecron
dans * nix. Reportez-vous à cet exemple -Add Jobs To cron Under Linux.
P.S When batch job is running under system scheduler, make sure it can locate your project’s classpath.
Télécharger le code source
Téléchargez-le -SpringBatch-Run-Example.zip (12 Ko)