Exécuter un travail par lots de printemps avec CommandLineJobRunner

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 jobPath  jobIdentifier (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)