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)